本文介绍了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文件链接 }) ] };
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。