babel轉碼

webpack中 使用babel轉碼node

ES6 轉碼ES 5webpack

安裝webpack須要使用的loader      babel-loader es6

npm install babel-loader --save-dev

安裝babel轉碼規則web

npm install babel-preset-es2015 --save-dev
npm install babel-core --save-dev

 設置webpack.config.js 引用babel-loadernpm

var path = require('path')
module.exports = {
     entry: './src/app.js',   //設置入口
     output: {
        path: path.resolve(__dirname,'./dist'),
        publicPath: './dist/',
        filename: '[name].js'
    },
    module:{
        rules: [
        {
            test: /\.js$/,
            exclude: /node_modules/,   //exclude 不但願處理的文件 node_modules中js不會轉碼
            use: [{
                    loader: 'babel-loader',
                    options:{
                    presets: [''es2015']
                }
            }]
        }
    ]
  }
}                    

 

babel-preset-env  經過它能夠使用最新的js語法 瀏覽器

 插件是爲了告訴babel只編譯批准的內容,至關於babel-preset-es2015, es2016, es2017及最新版本。 babel

安裝babel相關插件app

npm install   babel-loader babel-core babel-preset-env --save-dev

在webpack配置文件中設置 bable-loaderui

module: {
    rules: [
        {
            test: /\.js$/,
            exclude: '/node_modules/',
            use: {    
                loader: 'babel-loader',
                options: {
                    presets: [
                        ['env',{
                            targets: {
                                browsers: ['> 1%', 'last 2 versions']
                            }
                        }]
                    ]
                }
            },
        }
    ]
}

babel-polyfill spa

 上面使用到的babel插件中  只是將部分es6 es7等高級語法 轉換成 低級普通瀏覽器支持的js代碼, 可是部分語法 好比說Set Proxy Generator等 沒轉換

 polifill 就提供了一些低版本es標準對高級特性的實現    polyfill 轉換後的代碼 使用到的新語法會生成全局代碼  會污染全局變量

安裝 

npm install  babel-polyfill --save

使用  只須要在入口js中 引入polifill   

require('bable-polyfill')

runtime-transform 

和polyfill 功能相似 可是它不會污染到全局

安裝 

npm install babel-runtime --save
npm install babel-plugin-transform-runtime --save-dev

在工做目錄.babelrc 文件中添加

{"plugins":["transform-runtime"]}
相關文章
相關標籤/搜索