Peerjs: Prise en charge de l'utilisation du référentiel comme une dépendance npm (par exemple, faire compiler les tâches sur dist/peer.js)

Créé le 24 janv. 2019  ·  6Commentaires  ·  Source: peers/peerjs

Jusqu'au passage à Typescript, le référentiel peerjs aurait pu être utilisé comme n'importe quelle autre dépendance NPM. Ajoutez simplement la dépendance en tant que "peerjs": "git+ https://github.com/peers/peerjs.git " et elle serait compilée dans /node_modules/peerjs/dist/peer.js.

Ainsi, une application de nœud qui utilise la dépendance pourrait facilement l'avoir importée dans une application et utiliser un homologue.

Cependant, avec le passage à TS, nous avons des tâches postinstall non requises qui interrompent l'utilisation dans un tel scénario avec une erreur (essayez simplement de cloner, utilisez le référentiel actuel en tant que dépendance via git et vous saurez quoi Je veux dire). De plus, même si nous forkons le référentiel peerjs actuel et supprimons postinstall , il n'a toujours pas de tâches d'installation ou de construction qui entraîneraient la création du fichier "dist/peer.js".

Ma suggestion est donc d'ajouter ces tâches de construction.
Une question - maintenant avec la configuration actuelle du référentiel, comment puis-je créer la bibliothèque peerjs dans dist/peer.js ?
Merci.

Commentaire le plus utile

@kidandcat
Toutes mes excuses pour la réouverture d'un problème clos, mais je n'arrive toujours pas à utiliser PeerJS comme module... A reproduire :

  • créer une nouvelle application de réaction yarn create react-app my-app
  • ajouter une dépendance peerjs yarn add peerjs
  • modifiez src/App.js et ajoutez :
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • exécuter l'application yarn start

si vous naviguez sur http://localhost :3000, vous obtiendrez :
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor

Tous les 6 commentaires

@Caballerog

Selenium a été supprimé de la post-installation. Les tâches de grognement devraient fonctionner correctement. Pourriez-vous essayer avec la dernière version ? 0.3.19

Aussi pour répondre à votre question, le build se fait toujours avec grunt, c'est dans gruntfile.js. La tâche principale est ts (dactylographe). Après cela, il y a quelques tâches de minimisation.

Pour construire, il vous suffit d'utiliser grunt, le meilleur moyen est npx grunt .

@kidandcat
Toutes mes excuses pour la réouverture d'un problème clos, mais je n'arrive toujours pas à utiliser PeerJS comme module... A reproduire :

  • créer une nouvelle application de réaction yarn create react-app my-app
  • ajouter une dépendance peerjs yarn add peerjs
  • modifiez src/App.js et ajoutez :
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • exécuter l'application yarn start

si vous naviguez sur http://localhost :3000, vous obtiendrez :
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor

Comme l'a dit @xavierfuentes -> Le problème est toujours présent. Reproduire:

  • créer une nouvelle application angulaire ng new app
  • npm install --save peerjs
  • modifiez le fichier 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', {})

  }
}
  • démarrage npm
    Le résultat sera : ERROR TypeError: peerjs__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

Désolé pour le retard, [email protected] devrait résoudre le problème

Ce problème n'est toujours pas résolu, désolé.

Cette page vous a été utile?
0 / 5 - 0 notes