RequireJS中的绝对库依赖项

时间:2013-06-13 18:00:05

标签: javascript angularjs requirejs

我正在为项目使用Angular + Require。当我尝试使用:

使用r.js打包应用程序时
node r.js -o app.build.config.js

除了库文件外,一切都有效。不是在提供的路径上查找它们,而是相对于我作为目标提供的文件夹查找依赖项。

({
    appDir: "C:/dev/etc/",
    baseUrl: "javascript/core/",
    dir: "app-build/",
    modules: [
        {
            name: "application",
            out: "app.js"
        }
    ],
    findNestedDependencies: true
})

1 个答案:

答案 0 :(得分:1)

如果要共享运行时代码使用的相同配置以查找库的位置(例如Angular),可以使用mainConfigFile选项:

  

...如果您更喜欢为构建读取“主”JS文件配置,以便您不必在单独的配置中复制值,请将此属性设置为该主JS文件的位置。将使用在该文件中找到的第一个requirejs({}),require({}),requirejs.config({})或require.config({})调用。

所以你的构建配置看起来像这样:

({
    appDir: "C:/dev/etc/",
    baseUrl: "javascript/core/",
    mainConfigFile: 'c:/dev/etc/js/config.js', // whatever your file is called
    dir: "app-build/",
    modules: [
        {
            name: "application",
            out: "app.js"
        }
    ],
    findNestedDependencies: true
})

我有同样的问题,以上解决了这个问题。在添加mainConfigFile行之前,我会从r.js优化器得到类似的东西:

  

跟踪:应用程序的依赖项   错误:ENOENT,没有这样的文件或目录'/some/path/app-build/jquery.js'   在模块树中:   application`