Grunt + Babel 成功运行但没有做任何事情
Grunt + Babel successfully runs but doesn't do anything
我是 grunt/npm 的新手,但在阅读了文档之后。我给自己做了一个 package.json
和一个 Gruntfile.js
。这是我的文件夹结构:
/
|- src
|- myfile.es6
|- anotherfile.es6
|- etc.
|- Gruntfile.js
|- package.json
我有什么
这是我的 Gruntfile
:
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
babel: {
options: {
sourceMap: true,
plugins: ['es2015']
},
dist: {
files: [{
expand: true,
cwd: 'src/',
src: ['*.es6'],
dest: 'dist/',
ext: '.js'
}]
}
}
});
grunt.registerTask('default', ['babel'])
};
然后这是我的 package.json
:
{
"name": "Cheddar",
"version": "0.2.0",
"devDependencies": {
"babel-preset-es2015": "^6.6.0",
"grunt": "^1.0.1",
"grunt-babel": "^6.0.0"
},
"scripts": {
"test": "grunt --verbose"
}
}
它有什么作用?
我有我的 src/
文件夹,其中包含我的源文件 (*.es6
)。我想用 grunt运行将这些文件放到 dist/
目录中。
我试过的
然后我用npm install
和npm-update --save
安装了所有依赖项/babel-cli/grunt-cli/等
看起来不错,所以我继续 运行 咕哝:
$ grunt
Running "babel:dist" (babel) task
Done.
$ ls
Gruntfile.js node_modules/ package.json src/
ls
输出与我之前 运行 grunt
完全相同的内容。所以似乎什么都没有发生。我的输出 dist
在哪里?在过去的几个小时里,这一直困扰着我。我已经尝试安装 babelify
,并从互联网上的博客中安装了很多其他修复程序,但是,没有任何效果。
从 README 中尝试一个更直接的示例,例如:
grunt.initConfig({
babel: {
options: {
sourceMap: true,
presets: ['es2015']
},
dist: {
files: {
'dist/myfile.js': 'src/myfile.es6'
}
}
} });
完成该工作后,请尝试在文件下指定 *.es6
等。如果您查看 grunt-babel 插件的源代码,它可能比人们想象的更受限制。
你也可以只用npm scripts
直接指定babel命令行,我觉得比用grunt简单
尝试使用关键字 "presets" 而不是 "plugins":
babel: {
options: {
sourceMap: true,
presets: ['es2015']
}
...
}
当我使用你的配置时,grunt 似乎出错了,因为它找不到名为 "es2015" 的 plugin .进行更改后一切正常。
我是 grunt/npm 的新手,但在阅读了文档之后。我给自己做了一个 package.json
和一个 Gruntfile.js
。这是我的文件夹结构:
/
|- src
|- myfile.es6
|- anotherfile.es6
|- etc.
|- Gruntfile.js
|- package.json
我有什么
这是我的 Gruntfile
:
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
babel: {
options: {
sourceMap: true,
plugins: ['es2015']
},
dist: {
files: [{
expand: true,
cwd: 'src/',
src: ['*.es6'],
dest: 'dist/',
ext: '.js'
}]
}
}
});
grunt.registerTask('default', ['babel'])
};
然后这是我的 package.json
:
{
"name": "Cheddar",
"version": "0.2.0",
"devDependencies": {
"babel-preset-es2015": "^6.6.0",
"grunt": "^1.0.1",
"grunt-babel": "^6.0.0"
},
"scripts": {
"test": "grunt --verbose"
}
}
它有什么作用?
我有我的 src/
文件夹,其中包含我的源文件 (*.es6
)。我想用 grunt运行将这些文件放到 dist/
目录中。
我试过的
然后我用npm install
和npm-update --save
看起来不错,所以我继续 运行 咕哝:
$ grunt
Running "babel:dist" (babel) task
Done.
$ ls
Gruntfile.js node_modules/ package.json src/
ls
输出与我之前 运行 grunt
完全相同的内容。所以似乎什么都没有发生。我的输出 dist
在哪里?在过去的几个小时里,这一直困扰着我。我已经尝试安装 babelify
,并从互联网上的博客中安装了很多其他修复程序,但是,没有任何效果。
从 README 中尝试一个更直接的示例,例如:
grunt.initConfig({
babel: {
options: {
sourceMap: true,
presets: ['es2015']
},
dist: {
files: {
'dist/myfile.js': 'src/myfile.es6'
}
}
} });
完成该工作后,请尝试在文件下指定 *.es6
等。如果您查看 grunt-babel 插件的源代码,它可能比人们想象的更受限制。
你也可以只用npm scripts
直接指定babel命令行,我觉得比用grunt简单
尝试使用关键字 "presets" 而不是 "plugins":
babel: {
options: {
sourceMap: true,
presets: ['es2015']
}
...
}
当我使用你的配置时,grunt 似乎出错了,因为它找不到名为 "es2015" 的 plugin .进行更改后一切正常。