問題タブ [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.

0 投票する
1 に答える
17712 参照

vue.js - npmリンクを使用してvuejsモジュールで「モジュールが見つかりません」を修正する方法

多くのプロジェクトで使用できるいくつかのコンポーネントを含む vuejs ライブラリを作成しました。そのライブラリには、html (svg-icon) でインラインで使用される svg ファイルをロードできるコンポーネントがあります。

それはうまくいきます。

しかし、この同じライブラリには、ライブラリに保存されている svg イメージで svg-icon を使用する別のコンポーネントがあります。

重要な点として、このライブラリ (ノード モジュール) を npm リンクで使用したい

svg 画像のパス、または保存場所を指定する良い方法はどれですか?

私は多くの異なるパスを試しましたが、どれも機能していません...

これは私の svg-icon コンポーネントです:

そして、これはsvg-iconを使用するコンポーネントです(実際にはsvg画像は同じフォルダーにあります):

私はいつもこのエラーを受け取りました:

Cannot find module '~my-module/components/media/no-image.svg'

Cannot find module './no-image.svg'

その状況で良い道はどれですか?または、svg ファイルを別の場所に配置する必要がありますか? (図書館に置いておきたい)

0 投票する
3 に答える
4302 参照

javascript - リンクされたライブラリとワークスペース アプリケーションの間で反応バージョンをリンクする

よく使用するコンポーネント用の React ライブラリを開発しています。私のルートフォルダには次のものがあります:

  • 私のロールアップ設定と私src/のライブラリを含む私のフォルダ。ビルドすると、バンドル ファイル (ES、CJS、および UMD) がdist/フォルダー内にあります。
  • 私のワークスペース:parcel独立したpackage.json. このpackage.jsonでは、myLib が依存関係にあり、リンクしています。

ワークスペースで myLib を使用する場合は、次のようにインポートしますimport { Button } from 'myLib'

ここでは、すべて問題ないようです。しかし、コンポーネントでフックを使用していて、次のエラーが発生しました。

React のコピーが 2 つあるようです。次のようにnpm ls react返されます。

myLib/workspace/ node_modulesの間で react と react-dom をリンクしようとしましたが、うまくいきません。このエラーはまだここにあります。


TLDR;

これが私のファイルツリーです:

myLib をワークスペースにリンクするには: I go to myLib/and I doyarn link次に I go to workspace/I doyarn link myLib

react および react-dom は、peerDependenciesmyLibおよびdevDependenciesです。workspace/


もちろん、私はすでにここを見ました: