2017-01-06 3 views
1

私はVueアプリをChrome専用に開発しています。これはネイティブのES6を書くことができ、トランスバイルする必要がないと私に信じさせてくれます。Vue build chainからBabelを排除する方法は?

VueのCLIは、このようなpackage.json生成:

"devDependencies": { 
    "babel-core": "^6.0.0", 
    "babel-preset-es2015": "^6.0.0", 
    "babelify": "^7.2.0", 
    "browserify": "^13.0.1", 
    "browserify-hmr": "^0.3.1", 
    "cross-env": "^1.0.6", 
    "envify": "^3.4.1", 
    "http-server": "^0.9.0", 
    "npm-run-all": "^2.1.2", 
    "uglify-js": "^2.5.0", 
    "vueify": "^9.1.0", 
    "watchify": "^3.4.0" 
    }, 
    "browserify": { 
    "transform": [ 
     "vueify", 
     "babelify" 
    ] 
    } 

をしかし、私はバベルに4つの参照を削除した場合、私は私の非常に最初のファイルにコンパイルエラーを取得します。だから実際には私はちょうど2つの質問があります:

1)私はバベルを捨てることができると考えて正しいですか?
2)どうすればいいですか?

答えて

2

私はbrowserifyES6 importsを処理できないとは思わないBabel。通常、gulpuglifyminifyのようなものを使用することはできません。なぜならbrowserifyrequireをブラウザで使用できるようにするためですが、ブラウザがimportをサポートしていれば本当に必要ありません。残念ながら、これはvueifyを使用できないため、single file componentsを使用できなくなるため、trade-offが受け入れられるかどうかはわかりません。

あなたはGitHubの上でこの議論に興味がある可能性があります。詳細についてhttps://github.com/substack/node-browserify/issues/1186

+0

感謝。したがって、browserify(またはブラウザ自体)がES6のインポートを処理できるようになるまで、私はES5に悩まされていますか? – daninthemix

+0

私はそれがあなたが使用する必要があるES5 'が必要であるだけだと思う​​、あなたはまだ' ES6'を他のものに使うことができるでしょう。 'import'を' require'に置き換えてください。とにかく 'chrome'は' import 'をまだサポートしていないようですので、トレードオフは受け入れられると思います。 –

+0

または、BabelにES6モジュールをCJSモジュールにトランスフレイルするよう指示することもできます:['babel-plugin-transform-es2015-modules-commonjs'](https://babeljs.io/docs/plugins/transform-es2015-modules -commonjs /)。 – danharper

関連する問題