Peerjs: Suporte usando repo como uma dependência npm (por exemplo, compile tarefas para dist/peer.js)

Criado em 24 jan. 2019  ·  6Comentários  ·  Fonte: peers/peerjs

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.

Comentários muito úteis

@kidandcat
Desculpe por reabrir um problema encerrado, mas ainda não consigo usar o PeerJS como módulo... Para reproduzir:

  • crie um novo aplicativo de reação yarn create react-app my-app
  • adicionar dependência de peerjs yarn add peerjs
  • edite src/App.js e adicione:
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • execute o aplicativo yarn start

se você navegar para http://localhost :3000, obterá:
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor

Todos 6 comentários

@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:

  • crie um novo aplicativo de reação yarn create react-app my-app
  • adicionar dependência de peerjs yarn add peerjs
  • edite src/App.js e adicione:
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • execute o aplicativo 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:

  • crie um novo aplicativo Angular ng new app
  • npm install --save peerjs
  • edite o arquivo 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', {})

  }
}
  • npm início
    O resultado será: 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.

Esta página foi útil?
0 / 5 - 0 avaliações