美文网首页
webpack 4.0 学习日志(六)—— 初识 babel

webpack 4.0 学习日志(六)—— 初识 babel

作者: BULL_DEBUG | 来源:发表于2018-03-20 16:05 被阅读275次

1. 建立 babel

可能你不懂 babel 是什么,你可以把它理解为编译器,它能把 react 代码转成一般浏览器可读可执行的代码,通常可以用它来转化 reactvue 这样的前端代码,或者把 es6 代码转成普通的 javascript 代码等等。

如果还不理解的话,可以看我这篇文章 babel 入门指南

要让 babel 很好的转化 react 代码,首先要安装好 babel,再装 babel 转化 react 的包。

运行下面的命令。

$ npm install --save-dev babel-core babel-preset-react babel-preset-env

创建 .babelrc 文件。

{
  "presets": ["env", "react"]
}

// 以下为vue项目中的`.babelrc` 文件
{
  "presets": [
    [
      "env",
      {
        "modules": false
      }
    ],
    "stage-2"
  ],
  "plugins": ["transform-runtime"],
  "env": {
    "test": {
      "presets": ["env", "stage-2"],
      "plugins": ["transform-es2015-modules-commonjs", "dynamic-import-node"]
    }
  }
}

2. 在 webpack 使用 babel-loader

最后我们需要在 webpack 中使用一个 loader 来转化 react、vue 的代码。

首先,安装。

$ npm install --save-dev babel-loader

webpack.config.js

var HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  entry: './src/app.js',
  ...
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          //resolve-url-loader may be chained before sass-loader if necessary
          use: ['css-loader', 'sass-loader']
        })
      },
      // 这两行是处理 react 相关的内容
      { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
      { test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ }
    ]
  }
// 以下为vue项目中
   // {
     //   test: /\.js$/,
       // loader: 'babel-loader',
        //include: [resolve('src'), resolve('test')]
      //},
};

相关文章

网友评论

      本文标题:webpack 4.0 学习日志(六)—— 初识 babel

      本文链接:https://www.haomeiwen.com/subject/ehsbqftx.html