使用requirejs时,资源文件目录设置有什么best practice么?
发布于 10 年前 作者 kingapple 3499 次浏览 最后一次编辑是 8 年前

下面这种js结构比较清晰,但是用requirejs管理起来就老费劲了

问题1: app1.js中设置baseUrl为root目录,在prj1.html中使用require([‘libs/js/jquery’]) 尼玛居然定位不到jquery.js而是定位到了root/prj1/libs/js/jquery.js 为何在app1.js中设置的baseUrl无用呢?【但是在app1.js中使用require([‘libs/js/xxx’])是可以正确定位到root/libs/js/xxx.js的】。 为何会出这种神奇的问题呢? app1.js中定义的baseUrl只在app1.js中有效,在prj1.html中就失效了么? 问题2: 为何通过require函数,同一个js文件可以被两次引入? 一次以绝对路径,一次以相对路径,但是实际指向的是同一个文件:(

root prj1/ js/ app1.js prj1.html (里面引用了app1.js) prj2/ js/ app2.js libs/ js/ jquery.js

3 回复

把问题补充了一下;)

nodejs并没有提供html文件定位路径的功能,html在本质上是字符串,字符串怎么可能有逻辑的功能呢。

“在prj1.html中使用require([‘libs/js/jquery’]) 尼玛居然定位不到jquery.js而是定位到了root/prj1/libs/js/jquery.js” 这个得问你的模板引擎作者了。

模板占位符替换的时候,会有一些类似c语言预编译的手法,插入一些字符。

这个是浏览器项目,在浏览器中跑的,还没用到nodejs。。。

回到顶部