<script src="a.js"></script> <script src="b.js"></script> <script src="c.js"></script> ...........
定義:異步方式加載模塊,模塊的加載不影響它後面語句的運行。全部依賴這個模塊的語句,都定義在一個回調函數中,等到加載完成以後,這個回調函數纔會運行
define(function(){ var util ={ getFormatDate: function(date,type) { if(type ===1){ return '2017-06-21'; }else{ return '2017年06月21日'; } } } return util; })
define(['./util.js'],function(util){ var aUtil={ aGetFormatDate: function(date) { return util.getFormatDate(date,2) } } })
define(['./a_util.js'],function(aUtil){ var a={ printFormatDate: function(date) { console.log(aUtil.aGetFormatDate(date)); } } return a; })
require(['./a.js'],function(a) { //require 異步加載的模塊必須定義爲define var date =new Date(); a.printDate(date); })
<script data-main="./main.js" src ="....引用require.js">
modele.exports = { getFormatDate: function(date,type) { ........ } } .......
import path from 'path' module.exports = { context :path.resolve(__dirname, './src') . //入口文件所在目錄路徑拼接 entry: './app', //入口文件 output: { //webpack 構建出的文件 path: path.resolve(__dirname,'dist') filename: 'bundle.js' }, module: { loaders: [ //module.loaders分配加載程序 { test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel', query: { presets: ['es2015', 'react'] } . //須要babel-preset-es2015和babel-preset-react轉義 } ] }, plugins: [ new webpack.optimize.UglifyJsPlugin() //壓縮 ] ........... };