查詢各個 loader的使用,能夠在官網上查詢。html
(一)安裝 babel-loader,babel-core。webpack
使用命令web
npm install --save-dev babel-loader babel-core
由於ES6語法每一年都在更新,所以,咱們須要必定的規則去轉換。npm
npm install --save-dev babel-preset-latest
(二)babel
首先按照以下層級創建相應文件app
將測試用的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代碼以下ui
function layer(){ return{ name:'layer', tpl:'testTpl' }; } export default layer;
(三)webpack.config.js代碼以下spa
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文件連接 }) ] };