小编Ale*_*hek的帖子

Require.js优化器应该将所有文件复制到输出目录中吗?

我正在尝试在服务器端集成r.js优化器(Apache Sling)并面临一个问题:在解析模块时,它总是在输出目录(dir)下查找它们,而不是在源目录(baseUrlappDir)中查找它们.找到它们然后失败了.

/project/build.js

({
    name: "modules/main",
    dir: "/target",
    baseUrl: "/sources"
})
Run Code Online (Sandbox Code Playgroud)

如果您想知道,根路径/位于服务器的JCR存储库内,而不是文件系统.我也简化了一些例子(希望没有隐瞒问题).

它将正确解析和读取主文件:

/sources/modules/main.js

require(["modules/foo"]);
Run Code Online (Sandbox Code Playgroud)

但是,当它现在尝试解决时modules/foo,它会尝试从而/target/modules/foo.js不是/sources/modules/foo.js像我预期的那样读取它,这不存在并且整个r.js执行失败并停止.

我尝试过使用appDir各种组合,但问题总是一样的.我很确定它与我的集成代码无关......来自文档和Google搜索的AFAIU,它应该在构建优化文件之前将它们复制到目标,或者只是自动从源目录中选择它们.

  • /target在运行r.js之前,我应该将所有原始源文件复制到自己吗?
  • 也许问题是存在baseUrl=/overlay于内部的build.js不同/project
  • 也许r.js还会查看r.js进程的当前工作目录(在我的情况下到目前为止尚未定义)?
  • 输出目录(可以dir)住在外面appDir还是baseUrl

requirejs r.js

5
推荐指数
1
解决办法
3734
查看次数

标签 统计

r.js ×1

requirejs ×1