我试图找出如何使用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
拯救解密我巨大的咕噜文件的心痛。基本上我最初设置它,以便所有内容被连接,uglified和编译到构建文件夹。我为r.js创建了一个简单的任务来测试。我收到一条错误,说我找不到我的lodash库(我的main.js文件中的第一个路径)。它认为lodash在assets / lodash.js中它忽略了我的main.js(require.js配置)中的baseUrl属性,它的实际位置是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正在做什么以及它希望我为它输入什么的混淆#39;选项。
这是我目前得到的错误:
>> Error: ENOENT, no such file or directory
>> 'path-to-theme-folder-here/assets/libs/lodash.js'
>> In module tree:
>> application/js/main.min
答案 0 :(得分:2)
在我看来,你给出的描述应该有效:
requirejs: {
compile: {
options: {
baseUrl: "application/js/",
mainConfigFile: "application/js/main.js",
name: "main",
out: "build/js/optimized.js"
}
}
}