2017-05-29 25 views
0

我用full webpack template設置了我的項目。 如何設置使用ES7功能,如異步功能?我讀了有關使用巴貝爾插件和嘗試了以下內容:vue.js/webpack:如何正確地轉儲ES6/ES7?

{ 
    test: /\.js$/, 
    include: [resolve('src'), resolve('test')], 
    use: { 
     loader: 'babel-loader', 
     options: { 
      plugins: [require("babel-plugin-transform-async-to-generator")] 
     } 
    } 
} 

從我的理解:這不會transpile異步功能.vue文件,因爲它只會尋找.js文件。 不知何故,它適用於這些 - 但然後它給了我箭頭功能,再次在IE中不工作。

總結:如何設置轉儲以使用ES6和ES7功能?

+1

嘗試必要的修改,添加'階段3'到預設(改變'「階段2」''到[「階段2」,「 stage-3「]'),通過'npm install --save-dev babel-preset-stage-3'安裝。 – wostex

+0

vue加載器加載器應該在其選項中指定:https://vue-loader.vuejs.org/en/configurations/advanced.html。我想巴貝爾加載器應該拿起.babelrc,所以可以在那裏指定Babel配置。 – estus

+0

@wostex:我必須在哪裏改變這個?在我的整個項目中沒有指定「stage-2」或類似的文字...... – sandrooco

回答

1

作爲我們討論的結果是:

1)巴別配置.babelrc應編輯處理async-await,例如添加stage-3預設:

"presets": [ 
    ["env", { "modules": false }], 
    "stage-2", 
    "stage-3" 
    ], 

2)安裝此預設

npm:npm install --save-dev babel-preset-stage-3

yarn:yarn add -D babel-preset-stage-3

0

僅供參考,只是櫃面有人對它別人絆倒,卻不能使用異步/等待着Vuejs項目(比如我),這裏是我做過什麼來得到它的工作 -

爲了使用等待/ async您需要安裝一些Babel依賴項。這適用於Vuejs項目 -

npm install --save-dev babel-polyfill 
npm install --save-dev babel-plugin-transform-regenerator 

一旦安裝,您將需要修改.babelrc文件使用插件如下 -

{ 
    "plugins": ["transform-regenerator"] 
} 

,也是你的webpack.config.js文件中使用的再生如下 -

require("babel-polyfill"); 

module.exports = { 
    entry: ["babel-polyfill", "./app.js"] 
}; 

將T他根據你的項目結構和文件名等

張貼在https://stackoverflow.com/a/46734082/2074938