3

サーバー側では、ファイルがファイルをモジュールとしてAインポートするときに、baseURLが'sである相対パスを使用します。しかし、ブラウザ側のモジュールの場合、という名前のUIコンポーネントを作成するとします。そのファイル構造は次のようになります。BABAmodule-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を使用しています。パッケージマネージャーを使用するのか、マネージャーファイルを手動で使用するのかはよくある問題だと思います。

4

0 に答える 0