一、在项目中使用jquery
npm install jquery
// 定义入口文件
let entry = {
vendor: 'jquery',
};
glob.sync('./src/*.html').forEach(item => {
const filename = path.basename(item).toLowerCase();
const chunk = filename.replace('.html', '');
entry[chunk] = `./src/${chunk}.js`;
HtmlPlugin.push(
new HtmlWebpackPlugin({
filename: filename,
template: path.resolve(item),
inject: 'body',
title: 'webpack测试',
chunks: [chunk, 'vendor'], // 手动引入vendor
hash: true,
minify: {
removeAttributeQuotes: true, // 去除引号
collapseWhitespace: false, // true代码合并成一行
}
})
)
})
plugins: [
new webpack.ProvidePlugin({
$: 'jquery'
}), // 使用jquery
cssExtract,
lessExtract,
new webpack.HotModuleReplacementPlugin(), // 热更新,每次修改后会自动刷新
new CleanWebpackPlugin(), // 每次打包清空dist文件夹
...HtmlPlugin,
new PurifycssWebpack({
paths: glob.sync(path.resolve('src/*.html'))
})
],
console.log($);
$(function () {
$('#box').on('click', function () {
console.log('你点击了我')
})
})
二、使用bootstrap
样式库
npm install url-loader -D // bootstrap中有使用字体的引入
npm install bootstrap
module: {
rules: [
...
{
test: /\.(eot|woff|woff2|ttf)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 5 * 1024
}
}
]
}
]
},
resolve: {
extnesions: ['.js', '.json'], // 引入模块的时候,可以不需要使用扩展名
alias: { // 配置别名,在文件引入的时候就可以直接使用bootstrap,不需要引入下面一大串
'bootstrap': 'bootstrap/dist/css/bootstrap.css',
}
}
require('bootstrap');
<button type="button" class="btn btn-success">按钮</button>
三、使用webpack
配置react
的开发
npm install react react-dom
- 2、安装
babel
相关的包(会在下一个章节重点讲解)
npm i @babel/core babel-loader @babel/preset-env @babel/preset-react -D
- 3、在项目的根目录下创建一个
.babelrc
的文件
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/, // 不处理node_modules文件夹
use: [
{
loader: 'babel-loader', // 自动会去读取.babelrc的配置
}
],
},
...
]
}