JavaScript

超轻量级php框架startmvc

webpack使用 babel-loader 转换 ES6代码示例

更新时间:2020-05-31 18:18:02 作者:startmvc
本文介绍了webpack使用babel-loader转换ES6代码示例,分享给大家,具体如下:查询各个loader的

本文介绍了webpack使用 babel-loader 转换 ES6代码示例,分享给大家,具体如下:

查询各个 loader的使用,可以在官网上查询。https://www.npmjs.com

(一)安装 babel-loader,babel-core。

使用命令


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

因为ES6语法每年都在更新,因此,我们需要一定的规则去转换。


npm install --save-dev babel-preset-latest

(二)首先按照如下层级建立相应文件

  

将测试用的ES6代码放在 app.js,使用CMD语法,将layer嵌入对象layer中。app.js代码如下。


import layer from './components/layer/layer.js';

const App = function () {
 console.log(layer);
}

new App();

layer.js代码如下


function layer(){
 return{
 name:'layer',
 tpl:'testTpl'
 };
}

export default layer;

(三)webpack.config.js代码如下


var htmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
console.log(__dirname);
module.exports = {
 /*context: __dirname,*/
 entry: './src/app.js',

 output: {
 path: './dist',
 filename: 'js/[name]-bound.js'//生成后的文件名 为 a-2ea5b2e9b258a8bbba73.js,main-2ea5b2e9b258a8bbba73.js
 },
 module: {
 loaders: [
 {
 test: /\.js$/,
 loader: 'babel-loader',
 /*exclude: path.resolve(__dirname, 'node_modules'), //编译时,不需要编译哪些文件*/
 /*include: path.resolve(__dirname, 'src'),//在config中查看 编译时,需要包含哪些文件*/
 query: {
 presets: ['latest'] //按照最新的ES6语法规则去转换
 }
 }
 ]
 },
 plugins: [
 new htmlWebpackPlugin({
 filename: 'index.html', //通过模板生成的文件名
 template: 'index.html',//模板路径
 inject: 'body' //是否自动在模板文件添加 自动生成的js文件链接

 })
 ]
};

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。