dch*_*tri 6 javascript require requirejs gruntjs grunt-contrib-requirejs
我有这样的结构:
注意vendor.js只是一个包含libs下所有文件的文件.防爆
//vendor.js
define(['jquery','bootstrap', 'moment'], function(){});
只是列出依赖项:
app.js取决于common.js和app.config.jscommon.js 依赖于取决于 vendor.jsapp.config.js 依赖于取决于 moment.js我正在试图做的是运行咕噜requirejs命令来创建一个vendor.js与下的所有文件的文件libs/和app.js与不包括在文件的其余部分vendor.js.
这是我的requirejs选项的样子:
module.exports = function (grunt) {
'use strict';
var config = {
dist: {
options: {
appDir: 'app/',
baseUrl: './scripts',
mainConfigFile: 'app/scripts/main.js',
dir: 'dist/scripts/',
modules: [
{ name: 'vendor'},
{ name: 'app', exclude: ['vendor'] }
]
}
}
};
grunt.config('requirejs', config);
};
Run Code Online (Sandbox Code Playgroud)
我从运行上面得到的是以下build.txt
scripts/vendor.js
----------------
scripts/libs/jquery.js
scripts/libs/bootstrap.js
scripts/libs/moment.js
scripts/app.js
scripts/vendor.js
scripts/common.js
scripts/app.config.js
scripts/app.js
----------------
Run Code Online (Sandbox Code Playgroud)
如您所见,所有文件都只是附加到vendor.js而不是app.js.我希望vendor.js包含vendor.js它的依赖项.并排除app.js其余部分vendor.
我尝试了很多组合,仍然是一个nogo.
发现问题了!问题出在我的 require 配置文件上,该文件被提供给 grunt requirejs 任务。require 配置文件包含deps: ['app']代码,在尝试拆分为模块时会发生冲突,因为一旦 require 配置被提供给 grunt requirejs 任务,它就会将 app 视为必要的依赖项,这意味着 app 及其所有文件都被标记为依赖项,并且因此包含在列出的第一个模块文件中。
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |