3

在服务器端,当文件将文件作为模块A导入时,使用baseURL 为's的相对路径。但是对于浏览器端模块,假设我编写了一个名为. 它的文件结构如下所示: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

但是此时如果我在 中再创建一个菜单index.html,那么 中就会有一个<img sc="./pic/a.jpg">JS 代码创建的标签module-A。这次错了!

如果我想让它工作,我必须使用 iframe 来包装,module A那么事情可能会很好。

对于服务器端程序,一切正常,因为没有像 HTML 这样的东西可以在一页中制作所有代码(我的意思是没有 UI 的程序。)。

我怎样才能解决这个问题?


更新:

是的,我使用 Bower 和一个 CommonJS 加载器 SeaJS,它在中国更受欢迎,而不是 RequireJS。我认为我们是否手动使用包管理器或管理器文件是一个常见问题。

4

0 回答 0