jquery
一、安装包css
npm install jquery
复制代码
二、在入口文件单独使用一个html
// 定义入口文件
let entry = {
vendor: 'jquery',
};
复制代码
三、在打包html
插件的时候引入node
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代码合并成一行
}
})
)
})
复制代码
四、在插件处配置react
plugins: [
new webpack.ProvidePlugin({
$: 'jquery'
}), // 使用jquery
cssExtract,
lessExtract,
new webpack.HotModuleReplacementPlugin(), // 热更新,每次修改后会自动刷新
new CleanWebpackPlugin(), // 每次打包清空dist文件夹
...HtmlPlugin,
new PurifycssWebpack({
paths: glob.sync(path.resolve('src/*.html'))
})
],
复制代码
五、直接在js
文件中引入jquery
console.log($);
$(function () {
$('#box').on('click', function () {
console.log('你点击了我')
})
})
复制代码
bootstrap
样式库一、安装webpack
npm install url-loader -D // bootstrap中有使用字体的引入
npm install bootstrap
复制代码
二、配置规则web
module: {
rules: [
...
{
test: /\.(eot|woff|woff2|ttf)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 5 * 1024
}
}
]
}
]
},
复制代码
三、配置别名shell
resolve: {
extnesions: ['.js', '.json'], // 引入模块的时候,能够不须要使用扩展名
alias: { // 配置别名,在文件引入的时候就能够直接使用bootstrap,不须要引入下面一大串
'bootstrap': 'bootstrap/dist/css/bootstrap.css',
}
}
复制代码
四、js
文件中引入样式npm
require('bootstrap');
复制代码
五、页面中使用json
<button type="button" class="btn btn-success">按钮</button>
复制代码
webpack
配置react
的开发一、安装包
npm install react react-dom
复制代码
二、安装babel
相关的包(会在下一个章节重点讲解)
npm i @babel/core babel-loader @babel/preset-env @babel/preset-react -D
复制代码
三、在项目的根目录下建立一个.babelrc
的文件
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}
复制代码
四、配置规则
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/, // 不处理node_modules文件夹
use: [
{
loader: 'babel-loader', // 自动会去读取.babelrc的配置
}
],
},
...
]
}
复制代码
五、运行项目