【发布时间】:2014-10-13 22:50:50
【问题描述】:
我正在尝试弄清楚如何使用 r.js。我不断收到错误,例如模块路径不存在,或者文件被转储到不应出现的位置。
我有一个与 wordpress 集成的单页应用程序。我采用this backbone boilerplate 作为我的一般结构,尽管我的设置完全不同。我的文件结构如下所示。
.Theme Folder
├── _assets
| ├── _application
| | ├── css
| | ├── fonts
| | ├── img
| | ├── _js
| | | ├── main.js //this is my require.js config file
| | | ├── _app //here's where the boilerplate structure comes into play
| | | ├── collections
| | | ├── models
| | | ├── routers
| | | ├── templates
| | | ├── views
| | | ├── libs
| | | ├── utilities
| | ├── scss
| | ├── video
| └── build //Concatenated application directory mirror
| └── gruntfile.js
| └── bower.json
| └── package.json
为了省去破译我巨大的咕噜声文件的心痛。基本上,我最初设置它以便所有内容都被连接、丑化并编译到构建文件夹中。我为 r.js 创建了一个简单的任务来测试。我收到一条错误消息,提示找不到我的 lodash 库(我的 main.js 文件中的第一个路径)。它认为 lodash 在 assets/lodash.js 它忽略了我在 main.js 中的 baseUrl 属性(require.js 配置)它的实际位置是 assets/application/js/libs/lodash.js。我的 requirejs 任务如下:
requirejs: {
compile: {
options: {
baseUrl: "./",
mainConfigFile: "application/js/main.js",
name: "./application/js/main",
out: "./build/js/optimized.js"
}
}
}
我很难弄清楚 rjs 到底在做什么。当我期望它工作时,它不是在正确的目录中寻找文件。当我将它配置为找到正确的文件时,它会复制我的整个资产文件夹并将其转储到我的构建文件夹中......这引起了很多关于所有 r.js 正在做什么以及它希望我输入什么的困惑选项。
这是我目前遇到的错误:
>> Error: ENOENT, no such file or directory
>> 'path-to-theme-folder-here/assets/libs/lodash.js'
>> In module tree:
>> application/js/main.min
【问题讨论】:
标签: javascript backbone.js requirejs gruntjs r.js