Peerjs: Compatibilidad con el uso de repositorios como una dependencia de npm (por ejemplo, hacer que las tareas se compilen en dist/peer.js)

Creado en 24 ene. 2019  ·  6Comentarios  ·  Fuente: peers/peerjs

Hasta el cambio a Typescript, el repositorio de peerjs podría haberse utilizado como cualquier otra dependencia de NPM. Simplemente agregue la dependencia como "peerjs": "git+ https://github.com/peers/peerjs.git " y se compilará en /node_modules/peerjs/dist/peer.js.

Por lo tanto, una aplicación de nodo que usa la dependencia podría haberla importado fácilmente a una aplicación y usarla.

Sin embargo, con el cambio a TS, tenemos tareas postinstall no requeridas que interrumpen el uso en tal escenario con un error (solo intente clonar, use el repositorio actual como una dependencia a través de git y sabrá qué Quiero decir). Además, incluso si bifurcamos el repositorio peerjs actual y eliminamos postinstall , todavía no tiene tareas de instalación o compilación que darían lugar a la creación del archivo "dist/peer.js".

Así que mi sugerencia es agregar esas tareas de compilación.
Una pregunta: ahora con la configuración actual del repositorio, ¿cómo construyo la biblioteca peerjs en dist/peer.js?
Gracias.

Comentario más útil

@kidandcat
Disculpas por reabrir un problema cerrado, pero todavía no puedo usar PeerJS como módulo... Para reproducir:

  • crear una nueva aplicación de reacción yarn create react-app my-app
  • agregue la dependencia peerjs yarn add peerjs
  • edite src/App.js y agregue:
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • ejecuta la aplicación yarn start

si navega a http://localhost :3000 obtendrá:
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor

Todos 6 comentarios

@Caballerog

Selenium se eliminó de la postinstalación. Las tareas de grunt deberían funcionar bien. ¿Podrías probar con la última versión? 0.3.19

Además, para responder a su pregunta, la compilación todavía se realiza con grunt, está en gruntfile.js. La tarea principal es ts (mecanografiado). Después de eso hay algunas tareas minificantes.

Para construir solo necesitas usar grunt, la mejor manera es npx grunt .

@kidandcat
Disculpas por reabrir un problema cerrado, pero todavía no puedo usar PeerJS como módulo... Para reproducir:

  • crear una nueva aplicación de reacción yarn create react-app my-app
  • agregue la dependencia peerjs yarn add peerjs
  • edite src/App.js y agregue:
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • ejecuta la aplicación yarn start

si navega a http://localhost :3000 obtendrá:
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor

Como dijo @xavierfuentes -> El problema sigue presente. Reproducir:

  • crear una nueva aplicación angular ng new app
  • npm install --save peerjs
  • edite el archivo app.component.ts:
import * as Peer from 'peerjs';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'app';

  ngOnInit(): void {
    new Peer('123', {})

  }
}
  • inicio de npm
    El resultado será: ERROR TypeError: peerjs__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

Perdón por la demora, [email protected] debería solucionar el problema

Este problema aún no está resuelto, lo siento.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

afrokick picture afrokick  ·  5Comentarios

furozen picture furozen  ·  9Comentarios

l2aelba picture l2aelba  ·  3Comentarios

schweini picture schweini  ·  7Comentarios

kidandcat picture kidandcat  ·  8Comentarios