webpack的配置汇总

配置打包的入口与出口

1. 默认约定webpack4.x 版本中默认约定

  1. 打包的 入口文件为 src -> index.js
  2. 打包的 输出文件为 dist -> main.js

2. 修改 修改打包的入口与出口,可以在 webpack.config.js 中新增加如下配置信息

const path = require('path') // 导入 node.js 中专门操作路径的模块 path
module.exports = {
entry: path.join(_dirname,'./src/index.js'),//打包入口文件的路径
output: { 
        path: path.join(__dirname,'./dist'), // 输出文件的存放路径
        filename: 'bundle.js' //输出文件的名称
    }
}

3. 在终端中运行如下命令,测试 打包 入口与出口是否更改

npm run dev 

打包完成之后,会在 dist 文件夹里面 会自动生成 bundle.js ,然后 再回到 src -> index.html 中,重新引入 打包之后的 bundle.js 文件,运行 index.html,依然可以照常运行。

但是此时我们会发现,每次 js 更改之后我们都需要重新手动打包,那要怎么样才能是实现自动打包的功能呢?请继续往下看

配置自动打包

1. 在终端中运行如下命令,安装支持项目自动打包的工具

npm install webpack-dev-server -D 

2. 修改 package.json 文件中 scripts 对象的 dev 命令,如下配置:

// package.json 中的配置
"scripts": {
    "dev": "webpack-dev-server" // script 节点下的脚本,可以通过 npm run 执行
  },

3. 将 src -> index.html 中,scripts 脚本的引用路径 ,修改为根目录下的 buldle.js

<script src="/bundle.js"></script>

4. 运行 如下命令,重新运行打包

npm run dev 

5. 复制终端中的http:localhost:8080 地址,然后在在浏览器中访问就可看到打包之后的项目。

注意:

  • webpack-dev-server 会启动一个实时打包的 http 服务器
  • webpack-dev-server 打包生成的输出文件,默认放到了项目根目录中,而且是虚拟的,看不到的

6. 此时项目的运行需要我们在浏览器手动输入地址才可以访问,那我要想项目启动之后自动弹开浏览器要怎么配置呢?

需要我们修改 package.json 文件中 scripts 对象的 dev 的相关参数,具体修改如下:

// package.json 中的配置
// --open 打包完成后自动打开浏览器页面  --host 配置 IP地址  --port 配置端口
"scripts": {
    "dev": "webpack-dev-server --open --host 127.0.0.0 --port 8888"
}

修改之后重新运行 npm run dev 命令进行打包会发现项目自动弹出浏览器,说明我们已经配置成功了~

但是此时我们会发现项目虽然正常运行,没有报错,但却不是我们想要的页面。
那要怎样才可以直接预览到我们想要的页面呢?请继续往下看

配置预览页面

1. 在终端中运行如下命令,安装生成预览页面的插件

npm install html-webpack-plugin -D

2. 修改 webpack.config.js 文件头部区域,添加如下配置信息:

// 导入生成预览页面的插件,得到一个构造函数
const HtmlWebpackPlugin = require('html-webpack-plugin')
const htmlPlugin = new HtmlWebpackPlugin({//创建插件的实例对象
  template: './src/index.html',// 指定要用到的模版文件
  filename: 'index.html'//指定生成的文件的名称,该文件存在于内存中,在目录中不显示
})

3. 修改 webpack.config.js 文件中向外暴露的配置对象 ,新增如下配置节点:

module.exports = {
  plugins: [ htmlPlugin ] //plugin 数组是 webpack 打 包期间会用到的一些插件列表
}

4. 此时再 运行 如下命令,重新运行打包

npm run dev 

5. 在浏览器中 继续访问 http:localhost:8080 地址,既可以看到我们想要的页面。

注意:

  • webpack-dev-server 会启动一个实时打包的 http 服务器
  • webpack-dev-server 打包生成的输出文件,默认放到了项目根目录中,而且是虚拟的,看不到的
posted @ 2019-11-22 17:14  木子蔻  阅读(468)  评论(0编辑  收藏  举报