Typescriptに移行するまで、peerjsリポジトリは他のNPM依存関係と同じように使用できたはずです。 依存関係を「peerjs」:「git + https://github.com/peers/peerjs.git 」として追加するだけで、/ node_modules / peerjs / dist /peer.jsにコンパイルされます。
したがって、依存関係を使用しているノードアプリケーションは、依存関係をアプリケーションに簡単にインポートして、ピアを使用できます。
ただし、TSに移行すると、このようなシナリオでの使用をエラーで中断する不要なpostinstall
タスクがあります(現在のリポジトリをgitを介して依存関係として複製してみてください。そうすれば、何がわかるでしょう。つまり)。 さらに、現在のpeerjsリポジトリをフォークしてpostinstall
を削除しても、「dist /peer.js」ファイルの作成につながるインストールまたはビルドタスクはありません。
したがって、私の提案は、これらのビルドタスクを追加することです。
質問-現在のリポジトリ構成で、peerjsライブラリをdist / peer.jsにビルドするにはどうすればよいですか?
ありがとう。
@Caballerog
Seleniumはポストインストールから削除されました。 Gruntタスクは正常に機能するはずです。 最新バージョンでお試しいただけますか? 0.3.19
また、あなたの質問に答えるために、ビルドはまだgruntで行われ、gruntfile.jsにあります。 主なタスクはts(typescript)です。 その後、いくつかの縮小タスクがあります。
ビルドするには、gruntを使用する必要があります。最良の方法は、 npx grunt
です。
@kidandcat
クローズされた問題を再開することをお詫びしますが、それでもPeerJSをモジュールとして使用することはできません...再現するには:
yarn create react-app my-app
yarn add peerjs
src/App.js
を編集し、以下を追加します。import Peer from "peerjs";
// ...
class App extends Component {
componentDidMount() {
const peer = new Peer('peer-id', {});
}
// ...
}
yarn start
http:// localhost :3000を参照すると、次のようになります。
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor
@xavierfuentesが言ったように->問題はまだ存在しています。 再現するには:
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
遅れて申し訳ありませんが、 peerjs @ 0.3.22で問題が修正されます
この問題はまだ解決されていません。申し訳ありません。
最も参考になるコメント
@kidandcat
クローズされた問題を再開することをお詫びしますが、それでもPeerJSをモジュールとして使用することはできません...再現するには:
yarn create react-app my-app
yarn add peerjs
src/App.js
を編集し、以下を追加します。yarn start
http:// localhost :3000を参照すると、次のようになります。
TypeError: peerjs__WEBPACK_IMPORTED_MODULE_9___default.a is not a constructor