webpack

一、项目
新建项目空白目录,并运行 npm init –y 命令,初始化包管理配置文件 package.json
新建 src 源代码目录
新建 src -> index.html 首页
初始化首页基本的结构
运行 npm install jquery –S 命令,安装 jQuery
通过模块化的形式,实现列表隔行变色效果
二、 安装和配置 webpack
运行 npm install webpack webpack-cli –D 命令,安装 webpack 相关的包
在项目根目录中,创建名为 webpack.config.js webpack 配置文件
webpack 的配置文件中,初始化如下基本配置:
package.json 配置文件中的 scripts 节点下,新增 dev 脚本如下:
在终端中运行 npm run dev 命令,启动 webpack 进行项目打包。
三、 配置打包的入口与出口
webpack 4.x 版本中默认约定:
    打包的 入口文件 src -> index.js
    打包的 输出文件 dist -> main.js
如果要修改打包的入口与出口,可以在 webpack.config.js 中新增如下配置信息:
const path = require('path') // 导入 node.js 中专门操作路径的模块
module.exports = {
entry : path.join(__dirname, './src/index.js'), // 打包入口文件的路径
output : {
path : path.join(__dirname, './dist'), // 输出文件的存放路径
filename : 'bundle.js' // 输出文件的名称
}
}
四、 配置 html-webpack-plugin 生成预览页面
运行 npm install html-webpack-plugin –D 命令,安装生成预览页面的插件
修改 webpack.config.js 文件头部区域,添加如下配置信息:
修改 webpack.config.js 文件中向外暴露的配置对象,新增如下配置节点:
// 导入生成预览页面的插件,得到一个 构造函数
const HtmlWebpackPlugin = require('html-webpack-plugin')
const htmlPlugin = new HtmlWebpackPlugin ({ // 创建插件的实例对象
template: './src/index.html', // 指定要用到的模板文件
filename: 'index.html' // 指定生成的文件的名称,该文件存在于内存中,在目录中不显示
})
module.exports = {
plugins : [ htmlPlugin ] // plugins 数组是 webpack 打包期间会用到的一些插件列表
}
五、 配置 webpack 的自动打包功能
运行 npm install webpack-dev-server –D 命令,安装支持项目自动打包的工具
修改 package.json -> scripts 中的 dev 命令如下:
src -> index.html 中, script 脚本的引用路径,修改为 "/buldle.js“
运行 npm run dev 命令,重新进行打包
在浏览器中访问 http://localhost:8080 地址,查看自动打包效果
"scripts": {
"dev": " webpack-dev-server " // script 节点下的脚本,可以通过 npm run 执行
}
注意:
    webpack-dev-server 会启动一个实时打包的 http 服务器
     webpack-dev-server 打包生成的输出文件,默认放到了项目根目录中,而且是虚拟的、看不见的
六、 配置自动打包相关的参数
// package.json 中的配置
// --open 打包完成后自动打开浏览器页面
// --host 配置 IP 地址
// --port 配置端口
"scripts": {
"dev": "webpack-dev-server --open --host 127.0.0.1 --port 8888"
},

webpack.config.js

var HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');
// const { webpack } = require('webpack');
// new webpack.HotModuleReplacementPlugin();
module.exports = {
    // 编译模式
    mode: 'development', // mode 用来指定构建模式
    entry: path.join(__dirname, './src/index.js'), // 打包入口文件的路径
    output: {
        path: path.join(__dirname, './dist'), // 输出文件的存放路径
        filename: 'bundle.js' // 输出文件的名称
    },
    plugins: [new HtmlWebpackPlugin({
        template: path.join(__dirname, 'src', 'index.html'),
        filename: 'index.html'
    })],
    devServer: {
        port: 5500,
        static: path.join(__dirname, 'dist'),
    }
}

package.josn

"scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "build": "webpack",
        "dev": "webpack-dev-server"

    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值