サーバー側では、ファイルがファイルをモジュールとしてA
インポートするときに、baseURLが'sである相対パスを使用します。しかし、ブラウザ側のモジュールの場合、という名前のUIコンポーネントを作成するとします。そのファイル構造は次のようになります。B
A
B
A
module-A
.
|-- main.js
`-- pic
`-- c.jpg
で要素を作成すると<img src="./pic/c.jpg">
、右の画像を参照します。
次に、それをパッケージにします。これは、Bowerを使用してインストールすると次のようになります。
.
|-- components
| `-- module-A
| |-- main.js
| `-- pic
| `-- c.jpg
`-- index.html
またはこのようにさえ:
.
|-- components
| `-- module-B
| `-- components
| `-- module-A
| |-- main.js
| `-- pic
| `-- c.jpg
`-- index.html
しかし、この時点で、にもう1つのメニューを作成すると、にJSコードによって作成されindex.html
たタグがあります。今回は間違っています!<img sc="./pic/a.jpg">
module-A
それを機能させたい場合は、iframeを使用してラッパーを作成する必要module A
があります。そうすれば、問題がない可能性があります。
サーバーサイドプログラムの場合、1ページにすべてのコードを作成するHTMLのようなものがないため(つまり、UIを持たないプログラム)、すべてが正常に機能します。
どうすればこれを修正できますか?
アップデート:
はい、私はBowerと、RequireJSよりも中国で人気のあるCommonJSローダーSeaJSを使用しています。パッケージマネージャーを使用するのか、マネージャーファイルを手動で使用するのかはよくある問題だと思います。