建立app.js, sum.js,sum.js導出一個加法的函數,app.js使用這個函數。javascript
// app.js import {sum} from './sum'; console.log('sum(21, 22)', sum(21, 22)); // sum.js export function sum(a, b) { return a + b; }
在當前目錄下使用: webpack app.js bundle.js ; 這裏入口是app.js, 輸出文件是bundle.js,這樣就會看到文件中多出一個bundle.js文件。html
建立一個html文件運行,引入bundle.js運行,控制檯會打印:sum(21, 22) 43 。java
// 配置文件使用commonjs規範 module.exports = { // 入口,是一個對象 entry: { app: './app.js' }, // 輸出 output: { // 帶五位hash值的js filename: '[name].[hash:5].js' } }
// 配置文件使用commonjs規範 module.exports = { // 入口,是一個對象 entry: { app: './app.js' // 相對路徑 }, // 輸出 output: { // 帶五位hash值的js filename: '[name].[hash:8].js' }, // 指定loader module: { // rules中的每一項是一個規則 rules:[ { test: /\.js$/, // 值一個正則,符合這些正則的資源會用一個loade來處理 use: { loader: 'babel-loader', // 使用bable-loader來處理 options: { // 指定參數 presets: [ ['babel-preset-env', { targets: { browsers: ['> 1%', 'last 2 version'] //具體能夠去babel-preset裏面查看 } }] ] // 指定哪些語法編譯 } }, exclude: '/node_module/' // 排除在外 } ] } }
// app.js let func = () => {}; const num = 30; let arr = [3, 4, 5, 6]; let newArr = arr.map(item => item * 2); // 將之前數組每一項*2 console.log(newArr); // ==================// // 編譯以後(直接截取了編譯的代碼) "use strict"; var func = function func() {}; var num = 30; var arr = [3, 4, 5, 6]; var newArr = arr.map(function (item) { return item * 2; }); // 將之前數組每一項*2 console.log(newArr);
用來處理一些函數和方法(Genertor,Set,Map,Array.from等未被babel處理,須要上面的兩個插件)node
import "babel-polyfill"; let func = () => {}; const num = 30; let arr = [3, 4, 5, 6]; let newArr = arr.map(item => item * 2); // 將之前數組每一項*2 console.log(newArr); // 須要babel-polyfill arr.includes(8); // Genertor 函數 function* func2() { }
// 配置文件使用commonjs規範 module.exports = { // 入口,是一個對象 entry: { app: './app.js' // 相對路徑 }, // 輸出 output: { // 帶五位hash值的js filename: '[name].[hash:8].js' }, // 指定loader module: { // rules中的每一項是一個規則 rules:[ { test: /\.js$/, // 值一個正則,符合這些正則的資源會用一個loade來處理 use: { loader: 'babel-loader', // 使用bable-loader來處理 options: { // 指定參數 } }, exclude: '/node_module/' // 排除在外 } ] } }
{ "presets": [ ["babel-preset-env", { "targets": { "browsers": ["> 1%", "last 2 version"] } }] ], "plugins": ["transform-runtime"] }