初始化项目npm init -y
安装jquery包 npm i jquery -s
1.在自己的项目中导入import $ from ‘jquery’
这句话的含义是:在自己的项目中导入jquery包,使用$来接收,import *** from **这是es6的导入模块的方式
2.安装webpack 到自己的根项目中去 npm i webpack --save-dev
webpack 的作用:
重要内容
webpack.config.js文件:这个文件是webpack的配置文件,一般在该文件中配置将js文件打包到的路径问题,这个配置文件,起始就是一个 JS 文件,通过 Node 中的模块操作,向外暴露了一个 配置对象,手动配置方式。
module.exports = {
// 在配置文件中,需要手动指定 入口 和 出口
entry: path.join(__dirname, './src/main.js'),// 入口,表示,要使用 webpack 打包哪个文件
output: { // 输出文件相关的配置
path: path.join(__dirname, './dist'), // 指定 打包好的文件,输出到哪个目录中去
filename: 'bundle.js' // 这是指定 输出的文件的名称
},
devServer: { // 这是配置 dev-server 命令参数的第二种形式,相对来说,这种方式麻烦一些
// --open --port 3000 --contentBase src --hot
open: true, // 自动打开浏览器
port: 3000, // 设置启动时候的运行端口
contentBase: 'src', // 指定托管的根目录
hot: true // 启用热更新 的 第1步
},
plugins: [ // 配置插件的节点
new webpack.HotModuleReplacementPlugin(), // new 一个热更新的 模块对象, 这是 启用热更新的第 3 步
new htmlWebpackPlugin({ // 创建一个 在内存中 生成 HTML 页面的插件
template: path.join(__dirname, './src/index.html'), // 指定 模板页面,将来会根据指定的页面路径,去生成内存中的 页面
filename: 'index.html' // 指定生成的页面的名称
})
],
module: { // 这个节点,用于配置 所有 第三方模块 加载器
rules: [ // 所有第三方模块的 匹配规则
{ test: /\.css$/, use: ['style-loader', 'css-loader'] }, // 配置处理 .css 文件的第三方loader 规则
{ test: /\.less$/, use: ['style-loader', 'css-loader', 'less-loader'] }, //配置处理 .less 文件的第三方 loader 规则
{ test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }, // 配置处理 .scss 文件的 第三方 loader 规则
]
}
}
注意版本问题
建议使用低版本直接在package.json中修改即可
每次运行项目直接打开浏览器:在dev中配置–open
–port 3000配置端口号
–contentBase src 这是每次打开的路径
–hot 每次可以打包少量代码,运行项目(补丁自己的项目,不需要全部打包运行,页面自动刷新)
{ "name": "webpack-study", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "webpack-dev-server --open --port 3000 --contentBase src --hot" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "jquery": "^3.5.1" }, "devDependencies": { "webpack": "^4.20.3", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.9" } }
)
或者在配置文件中webpack.js中书写
1.
2.
3和devServer统计配置
这种方式和上种方式是一样的效果,推荐使用第一种方式
加载第三方的样式表