HTML中的BaseURL对于制作模块来说很弱,我该如何修复它?

时间:2013-02-25 07:27:54

标签: javascript bower

在服务器端,当文件A将文件B导入为moudule时,A使用B的相对路径,其baseURL为A的。但对于浏览器模块,假设我编写了一个名为module-A的UI组件。它的文件结构如下:

.
|-- 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。我认为手动使用包管理器或管理器文件是一个常见的问题。

0 个答案:

没有答案