Até a mudança para o Typescript, o repositório peerjs poderia ter sido usado como qualquer outra dependência do NPM. Basta adicionar dependência como "peerjs": "git+ https://github.com/peers/peerjs.git " e ela será compilada em /node_modules/peerjs/dist/peer.js.
Assim, um aplicativo de nó que está usando a dependência poderia facilmente importá-lo para um aplicativo e usar peer.
No entanto, com a mudança para o TS, temos tarefas postinstall
não obrigatórias que interrompem o uso em tal cenário com um erro (apenas tente clonar use o repositório atual como uma dependência via git e você saberá o que Quero dizer). Além disso, mesmo bifurcando o repositório peerjs atual e removendo postinstall
, ele ainda não possui tarefas de instalação ou compilação que resultariam na criação do arquivo "dist/peer.js".
Então, minha sugestão é adicionar essas tarefas de compilação.
Uma pergunta - agora com a configuração atual do repositório, como faço para construir a biblioteca peerjs em dist/peer.js?
Obrigado.
@Caballerog
Selenium foi removido do postinstall. As tarefas do Grunt devem funcionar bem. Você poderia tentar com a versão mais recente? 0.3.19
Também para responder sua pergunta, a compilação ainda é feita com grunt, está em gruntfile.js. A tarefa principal é ts (datilografado). Depois disso são algumas tarefas minificantes.
Para construir você só precisa usar grunt, a melhor maneira é npx grunt
.
@kidandcat
Desculpe por reabrir um problema encerrado, mas ainda não consigo usar o PeerJS como módulo... Para reproduzir:
yarn create react-app my-app
yarn add peerjs
src/App.js
e adicione:import Peer from "peerjs";
// ...
class App extends Component {
componentDidMount() {
const peer = new Peer('peer-id', {});
}
// ...
}
yarn start
se você navegar para http://localhost :3000, obterá:
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor
Como disse @xavierfuentes -> O problema ainda está presente. Reproduzir:
ng new app
npm install --save peerjs
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', {})
}
}
ERROR TypeError: peerjs__WEBPACK_IMPORTED_MODULE_2__ is not a constructor
Desculpe a demora, [email protected] deve corrigir o problema
Este problema ainda não foi resolvido, desculpe.
Comentários muito úteis
@kidandcat
Desculpe por reabrir um problema encerrado, mas ainda não consigo usar o PeerJS como módulo... Para reproduzir:
yarn create react-app my-app
yarn add peerjs
src/App.js
e adicione:yarn start
se você navegar para http://localhost :3000, obterá:
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor