Peerjs: Unterstützung der Verwendung von Repo wie einer npm-Abhängigkeit (z. B. Aufgaben nach dist/peer.js kompilieren lassen)

Erstellt am 24. Jan. 2019  ·  6Kommentare  ·  Quelle: peers/peerjs

Bis zum Wechsel zu Typescript hätte das peerjs-Repository wie jede andere NPM-Abhängigkeit verwendet werden können. Fügen Sie einfach die Abhängigkeit als „peerjs“ hinzu: „git+ https://github.com/peers/peerjs.git “ und sie wird in /node_modules/peerjs/dist/peer.js kompiliert.

Somit hätte eine Knotenanwendung, die die Abhängigkeit verwendet, sie leicht in eine Anwendung importieren und Peer verwenden können.

Mit dem Wechsel zu TS haben wir jedoch eine nicht erforderliche postinstall Aufgabe, die die Verwendung in einem solchen Szenario mit einem Fehler unterbricht (versuchen Sie einfach, das aktuelle Repository als Abhängigkeit über git zu klonen und Sie werden wissen, was) Ich meine). Darüber hinaus hat es, selbst wenn wir das aktuelle peerjs-Repository abzweigen und postinstall entfernen, immer noch keine Installations- oder Build-Aufgaben, die zur Erstellung der Datei "dist/peer.js" führen würden.

Mein Vorschlag ist also, diese Build-Aufgaben hinzuzufügen.
Eine Frage - Wie baue ich nun mit der aktuellen Repository-Konfiguration die peerjs-Bibliothek in dist/peer.js ein?
Danke.

Hilfreichster Kommentar

@kidandcat
Entschuldigung für das erneute Öffnen eines geschlossenen Problems, aber ich kann PeerJS immer noch nicht als Modul verwenden ... Um zu reproduzieren:

  • Erstellen Sie eine neue Reaktions-App yarn create react-app my-app
  • Peerjs-Abhängigkeit hinzufügen yarn add peerjs
  • Bearbeiten Sie src/App.js und fügen Sie hinzu:
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • führe die App aus yarn start

Wenn Sie zu http://localhost :3000 navigieren, erhalten Sie:
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor

Alle 6 Kommentare

@Caballerog

Selenium wurde aus der Postinstallation entfernt. Grunt-Aufgaben sollten gut funktionieren. Könntest du es mit der neuesten Version versuchen? 0,3.19

Um Ihre Frage zu beantworten, wird der Build immer noch mit grunt durchgeführt, er befindet sich in gruntfile.js. Die Hauptaufgabe ist ts (Typoskript). Danach folgen einige Minimierungsaufgaben.

Um zu bauen, müssen Sie nur grunt verwenden, der beste Weg ist npx grunt .

@kidandcat
Entschuldigung für das erneute Öffnen eines geschlossenen Problems, aber ich kann PeerJS immer noch nicht als Modul verwenden ... Um zu reproduzieren:

  • Erstellen Sie eine neue Reaktions-App yarn create react-app my-app
  • Peerjs-Abhängigkeit hinzufügen yarn add peerjs
  • Bearbeiten Sie src/App.js und fügen Sie hinzu:
import Peer from "peerjs";
// ...
class App extends Component {
  componentDidMount() {
    const peer = new Peer('peer-id', {});
  }
  // ...
}
  • führe die App aus yarn start

Wenn Sie zu http://localhost :3000 navigieren, erhalten Sie:
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor

Wie @xavierfuentes sagte ->

  • Neue Angular-App erstellen ng new app
  • npm install --save peerjs
  • Bearbeiten Sie die Datei 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 start
    Ergebnis ist: ERROR TypeError: peerjs__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

Entschuldigung für die Verzögerung, [email protected] sollte das Problem beheben

Dieses Problem ist noch nicht behoben, sorry.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen