問題タブ [npm-link]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - npmリンクを使用してAngularライブラリの「モジュールが見つかりません」エラーを修正するには?
Javascript ライブラリの Angular ラッパーをビルドしようとしていますが、「モジュールが見つかりません」というエラーが発生します。Javascript ライブラリは開発中で、まだ NPM に公開されていないため、問題を引き起こしている可能性がある npm-link を使用していますが、よくわかりません。私のAngularバージョンは8.2.2です。
Javascript ソース ライブラリ
ソースライブラリ/index.js:
sourcelibディレクトリには、 package.jsonファイルとREADME.mdファイルも含まれています。期待どおりに npm-link が作成されます。
Angular ラッパー
以下は、Angular ワークスペース、ライブラリ、およびテスト アプリケーションを作成するために実行している Angular CLI コマンドです。
次に、 testlibを Javascript ライブラリにリンクします。
testlib内にモジュールとコンポーネントを生成します。
testcomp.component.ts :
public-api.ts :
次にsourcelibをビルドします。
コンソール出力は次のとおりです。
そして、 sourcelibへの npm-link を作成します:
Angular テスト アプリ
testlib-appをtestlibにリンクします。
app.module.ts :
app.component.ts :
アプリを提供します。
結果
これのトラブルシューティングに多くの時間を費やしましたが、解決策を見つけることができませんでした。どんな助けでも大歓迎です。
node.js - tarball としてリリースされた Oclif cli: 「npm リンク」を記述せずにコマンドを bashRc に自動リンクする方法は?
oclif でビルドされた cli を tarball としてリリースしようとしています。ローカル環境では、コードをコマンドにリンクするために npm link を記述する必要があります。しかし、本番環境では、ユーザーがzipをダウンロードした後に端末を開いてnpmリンクを書き込むことを望んでいません。
「npm install」が呼び出されない限り、npm はインストール前のスクリプトを実行できないようです。シェル スクリプトを作成するのは良い解決策のように思えますが、ユーザーはこのスクリプトを手動で実行する必要があります。ユーザーがzipをダウンロードした後、この「npmリンク」を自動的に実行する方法が本当にないのだろうか。Oclifには何かがあると確信していますが、ドキュメントhttps://oclif.io/docs/releasesで見つけることができませんでした。
ご協力いただきありがとうございます。ここにプロジェクトのpackage.jsonがあります
node.js - Angular7 プロジェクトで Npm リンクが機能しない
Angular7 アプリケーションを作成しましたが、メインの Angular アプリケーションに別の Angular アプリケーションをウィジェットとしてインストールする必要があります。
以前npm-link
は、ウィジェットの Angular アプリケーションをメインの Angular アプリケーションにリンクしていました。
手順npm link
- Main Project フォルダの cmd で Ran コマンド
npm link ../ol-core-widget
ol-core widget
プロジェクトはメイン プロジェクトにリンクされており、そのol-core-widget
ファイルを更新するnode_modules/
と、メイン プロジェクトでも更新されます。しかし、メイン プロジェクトが からファイルにアクセスしようとするとol-core-widget
、失敗します。
- その後、 を実行しまし
npm install
たが、すべてのリンクが削除されました。
ウィジェット アプリケーションに変更を加えた場合は、そのプロジェクト用のファイルを作成し、.tgz
それをメインの角度アプリにインストールする必要があります。
バージョン情報:
- npm
6.4.1
- ノード
10.13.0
- Angular CLI
7.0.3
typescript - 開発用に TypeScript を使用して記述されたモジュールで npm リンクを使用するには?
TypeScript と Webpack を使用して lib を構築しています。
このライブラリを開発するために、別のテスト プロジェクト (JS を使用して記述) を作成し、npm link <package-name>
.
問題は、リンクがビルド ファイルにつながりnpm run build
、変更を加えるたびに実行する必要があることです。
ソース ファイルへのリンクが必要で、ライブ リロードが必要です。出来ますか?それを可能にするために、TS を使用してテスト プロジェクトを作成する必要がありますか?
ライブラリpackage.json
:
ライブラリのコードhttps://github.com/kozakdenys/qr-code-styling/tree/v1
テスト プロジェクトのコードhttps://github.com/kozakdenys/qr-code-styling-site
PS私も試してみ"module": "src/index.ts"
ましたpackage.json
が、テストプロジェクトでエラーが発生しますUncaught Error: Cannot find module './core/QRCodeStyling'