我有一个打字稿项目:
myproject
|
+-src (folder)
| |
| +-main.ts
| +-stringHandler.ts
| +-disposable.ts
+-out (folder)
| |
| +-...
+-Gruntfile.js在我的Grunt配置中,我有一个2步任务,它编译myproject/src/中的所有.js文件,并生成相应的.js文件到myproject/out/中。因此,在完成任务的第一步之后,我有以下内容:
myproject
|
+-out (folder)
|
+-main.js
+-stringHandler.js
+-disposable.js捆绑
任务的第二步是生成包文件 myproject.js。我正为此目的使用RequireJS。
我安装了格朗特.控制-要求。处理捆绑任务的Gruntfile.js文件如下(仅显示文件中的相关部分):
module.exports = function(grunt) {
var config = {
pkg: grunt.file.readJSON('package.json'),
requirejs: {
compile: {
options: {
baseUrl: "out",
bundles: {
'myproject': ['main', 'stringHandler', 'disposable']
},
out: 'out/myproject.js'
}
}
}
};
grunt.initConfig(config);
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.registerTask('default', ['compile', 'requirejs']);
};当Grunt到达requirejs时,在成功编译项目后,我会得到以下错误:
在(C:\Users\myuser\Documents\myproject\node_modules\grunt-contrib-requirejs\node_modules\requirejs\bin\r.js:29567:19) originalError: originalError: Error:缺少“名称”、“包含”或“模块”选项时,运行"requirejs:compile“任务{ Error: Error:缺少"name”、"include“或"modules”选项}
我可以理解缺少参数,但是当我使用name时,我会得到其他错误。我想在一个更一般的层面上一定有什么问题。正确的配置格式是什么?谢谢
发布于 2015-08-07 19:18:36
这假设main.ts是应用程序的入口点,它包含一个带有应用程序依赖项(库和shims)的require.config部分。
首先,将require.config部分从main.ts中移出并放入它自己的文件config.ts中。将应用程序引导代码保留在main.ts中。
然后确定要在何处部署这个优化的应用程序代码。让我们假设它是一个名为build的目录,它与您的src和out文件夹并行。
更新Gruntfile以反映此配置:
requirejs: {
compile: {
options: {
baseUrl: "out",
mainConfigFile: "out/config.js",
modules: [
{ name: "main" }
],
dir: "build",
optimize: "none" // skip compression while debugging
}
}
}您可以在http://requirejs.org/上阅读更多关于这些配置选项的信息,但是下面是基本的概述:
baseUrl:源JS代码所在的位置。mainConfigFile:指向上面提到的配置对象。它告诉插件依赖关系的所在。这样就不需要在两个地方指定和手动更新依赖项列表。modules:是应用程序引导程序的数组。在本例中,有一个列表,main.js。dir:将在其中生成优化的应用程序。请注意,您的依赖项也将在这里复制。optimize:我取消了这个操作,这样您就可以轻松地在./build下调试生成的应用程序了。当你高兴的时候删除它,插件会优化(压缩和处理)你的构建文件。https://stackoverflow.com/questions/31709213
复制相似问题