1.準(zhǔn)備工作
創(chuàng)建目錄
首先建立相關(guān)目錄,目錄結(jié)構(gòu)如下:
├── dist
│ └── js # 存放build后的js文件
└── src
├── css # 存放源css文件
└── js # 存放源js文件
仔細(xì)看上面的目錄結(jié)構(gòu)會(huì)發(fā)現(xiàn)疆前,dist下面沒(méi)有css目錄寒跳,因?yàn)閣ebpack默認(rèn)是把源css文件和源js文件合并成一個(gè)js文件。如果要單獨(dú)構(gòu)建css竹椒,需要借助插件extract-text-webpack-plugin童太,本文就不詳細(xì)說(shuō)明。
生成package.json
執(zhí)行命令npm init
碾牌,一路回車(chē)之后生成package.json康愤,內(nèi)容如下:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
構(gòu)建css需要借助css-loader和style-loader, 執(zhí)行命令:
npm install style-loader --save
npm install css-loader --save
執(zhí)行完之后,package.json為
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"css-loader": "^0.28.11",
"style-loader": "^0.21.0"
}
}
建立webpack.config.js
如下:
module.exports = {
entry: __dirname + '/src/js/index.js',
output: {
path: __dirname + '/dist/js',
filename: 'bundle.js'
},
module: {
rules:[
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
},
]
}
};
至此舶吗,準(zhǔn)備工作完成征冷,此時(shí)項(xiàng)目目錄如下:
├── dist
│ └── js
├── src
│ ├── css
│ └── js
├── node_modules #這是一個(gè)目錄,存放依賴包
├── package.json
└── webpack.config.js
2. 代碼實(shí)現(xiàn)
準(zhǔn)備工作完成之后誓琼,寫(xiě)代碼就很簡(jiǎn)單了检激。
在項(xiàng)目根目錄建立index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello world</title>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="bundle.js"></script>
</head>
<body>
<p>Hello World</p>
<button id="hide" type="button">隱藏</button>
<button id="show" type="button">顯示</button>
</body>
</html>
建立./src/css/app.css文件,如下:
p {
font-style:italic;
color: green;
}
建立./src/js/index.js文件腹侣,如下:
require('../css/app.css');
$(document).ready(function(){
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
});
這時(shí)叔收,代碼工作完成。
3.執(zhí)行
編輯package.json文件傲隶,在scripts
項(xiàng)加入"dev": "webpack-dev-server --open ", "build": "webpack -p"
, 此時(shí)package.json文件如下:
{
"name": "hello",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --open ",
"build": "webpack -p"
},
"author": "",
"license": "ISC",
"dependencies": {
"css-loader": "^0.28.11",
"style-loader": "^0.21.0"
"jquery": "^3.3.1",
}
}
在項(xiàng)目根目錄執(zhí)行npm run dev, 就可以在瀏覽器http://localhost:8080/看到效果: