簡體   English   中英

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 installnpm-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 ,以及互聯網上的博客上的其他一些修復但唉,沒有任何作用。

嘗試使用,而不是“插件”關鍵字“預設”:

babel: {
  options: {
      sourceMap: true,
      presets: ['es2015']
  }
  ...
}

當我使用你的配置時,grunt似乎出錯了,因為它找不到名為“es2015”的插件 在我做出改變后,一切都奏效了。

從自述文件中嘗試一個更為文字的例子:

grunt.initConfig({
    babel: {
        options: {
            sourceMap: true,
            presets: ['es2015']
        },
        dist: {
            files: {
                'dist/myfile.js': 'src/myfile.es6'
            }
        }
    } });

在你工作之后嘗試在文件下指定*.es6等。 如果你看一下grunt-babel插件的來源,它可能比人們想象的更有限。

您也可以直接使用npm scripts並直接指定babel命令行,我認為這比使用grunt更簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM