1

我正在为一个项目使用 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
})
4

1 回答 1

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'在模块树中:应用程序`

于 2013-06-13T18:55:51.473 回答