Webpack3ç使ç¨ï¼äºï¼
Webpack3ç使ç¨ï¼äºï¼
Webpack-v3.5.4ç使ç¨ï¼ä¸ï¼ä¸ï¼æå°ï¼
ç®åhtmlæä»¶ä¸åªæ¯å¼ç¨ä¸ä¸ªscriptæä»¶ï¼ä¸æ¯åºå®çæä»¶åï¼æå 以åçæä»¶åä¸ç¡®å®ï¼ææ ·é¿å æå¨è®¾ç½®è·¯å¾ï¼
é£ä¹æ¥ä¸æ¥å°±æ¯æä»¶html-webpack-pluginç»åºäºï¼
ï¼ä¸ï¼ãå®è£
1ãå®è£ æä»¶ npm install html-webpack-plugin --save-dev
2ãå¨webpack.config.jsä¸å¼å ¥æä»¶
var htmlWebpackPlugin = require('html-webpack-plugin');
3ãç¨pluginsè¿è¡åå§å
plugins: [
new htmlWebpackPlugin()
]
4ãè¿è¡npm run webpack
注æï¼å¨è¿é妿webpackæ¯å ¨å±å®è£ çè¯è¿è¡npm run webpack伿¥éï¼é¦å è¿è¡npm link webpack ååè¿è¡npm run webpack
ï¼äºï¼ãdistä¸çindex.htmlå¦ä½ä¸srcæä»¶å¤¹ä¸çindex.html代ç 忥
å¨pluginsä¸ä¼ å ¥åæ°ï¼template: 'index.html'ï¼ä¸è¯¥æ¨¡çæ¯å¨æ ¹ç®å½ä¸ï¼,srcæä»¶å¤¹ä¸index.htmlæä»¶ä¸æå¨å¼ç¨çscriptæ ç¾å³å¯å¹¶è¿è¡npm run webpack
ï¼ä¸ï¼ãç®åææçæçæä»¶é½å¨jsæä»¶å¤¹ä¸ï¼ä¸ç¬¦åå¼åï¼index.htmlæ¯å¨distç®å½ä¸çï¼å¦ä½å离
ï¼åï¼ãæ´å¤æçåºç¨ï¼pluginsä¸ä¼ å ¶ä»åæ°ï¼
1ãæ¹åæä¸é¨åçå 容
srcæä»¶å¤¹ä¸çindex.htmlæä»¶titleæ ç¾ä¸çå 容æ¹ä¸ºï¼
npm run webpackådistç®å½ä¸çææ°çindex.htmlæä»¶ï¼ä¸titleæ ç¾å 容ä¸è®¾ç½®ç忥
2ãå°å¼å ¥çjsæä»¶ä¸é¨åæ¾å°headæ ç¾éä¸é¨åæ¾å°bodyæ ç¾é
åæ°inject弿¹ä¸ºfalse
srcæä»¶å¤¹ä¸index.htmlä»£ç æ¹å¨
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title><%= htmlWebpackPlugin.options.title %></title>
<script type="text/javascript" src="<%=htmlWebpackPlugin.files.chunks.main.entry %>"></script>
</head>
<body>
<h1>æ¬¢è¿æ¥å°WabPackä¸çï¼</h1>
<%= htmlWebpackPlugin.options.data %>
<script type="text/javascript" src="<%=htmlWebpackPlugin.files.chunks.a.entry %>"></script>
</body>
</html>
3ãæå 以åè·ä¸çº¿çå°åè¯å®ä¸ä¸æ ·ï¼é£ä¹å°±éè¦æ°å±æ§
output: {
path:'./dist',
filename: 'js/[name]-[chunkhash].js',
publicPath: 'http://xxx.com/'
},
ï¼äºï¼ãå¤ççæå¤é¡µé¢åºç¨
1ãsrcä¸å¢å å¤ä¸ªjsæä»¶å
entry: {
main: './src/script/main.js',
a: './src/script/a.js',
b: './src/script/b.js',
c: './src/script/c.js'
},
pluginsä¸è®¾ç½®å¤ä¸ªnew htmlWebpackPluginå¹¶æç §ä¸åçéæ±åå ¥ä»£ç
2ãè§£å³ä¸åç页é¢å¼å ¥ä¸åçscriptï¼è䏿¯åºå®æå
å é¤srcä¸index.htmlä¸å¼å ¥çjs
è¿ç¨åæ°chunks chunks: ['a','main']
åæ°excludeChunksæçæ¯é¤äºåªäºï¼å ¶ä»çé½è¢«æå®ï¼ä¸chunksç¸å
3ãé¨åjs以å¤é¾å½¢å¼å¼å ¥ï¼é¨å以å 嵿¾å ¥
åæ°injectç弿¹ä¸ºfalse
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title><%= htmlWebpackPlugin.options.title %></title>
<script type="text/javascript">
<%= compilation.assets[htmlWebpackPlugin.files.chunks.main.entry.substr(htmlWebpackPlugin.files.publicPath.length)].source() %>
<!-- æ¤é¨åæ¯è¡¨ç¤ºå°jsæºç æ¾å ¥headæ ç¾ä¸ï¼è䏿¯ä»¥å¼ç¨å¤é¨é¾æ¥çæ¹å¼ -->
</script>
</head>
<body>
<% for(var k in htmlWebpackPlugin.files.chunks) { %>
<% if(k !== 'main') { %>
<script type="text/javascript" src="<%= htmlWebpackPlugin.files.chunks[k].entry %>"></script>
<% } %>
<% } %>
<!-- 该é¨åè¿æ¯ä»¥å¤é¨é¾æ¥å¼ç¨çæ¹å¼å¼ç¨js -->
</body>
</html>
以䏿¯jsæ´ç¨æå ç¨æ³ï¼åºç¡æå å¯ä»¥åè Webpack-v3.5.4ç使ç¨ï¼äºï¼ï¼http://blog.****.net/liuxin_1991/article/details/78834999
é£ä¹é¤äºjsçæå ï¼ç»å¸¸è§çloaderåæä»ä¹ç¨å¢ï¼ä¸åç¬è®°æ´æ°ããã Webpack-v3.5.4ç使ç¨ï¼ä¸ï¼