webpack基础

package.json 文件

{
	"private": "true", //以便确保我们安装包是 private(私有的)
	"scripts": { //快捷方式,可以使用 npm run build 命令,来替代我们之前使用的 npx 命令
	    "test": "echo \"Error: no test specified\" && exit 1",
	    "build": "webpack",
	    "watch": "webpack --watch", //仅用于开发环境,不用每次npm run build就运行,更改代码会重置编译,不用手动构建。唯一的缺点是,为了看到修改后的实际效果,你需要刷新浏览器,如果能够自动刷新浏览器 webpack-dev-server 实现此功能。
	 },
	 
}

webpack.config.js

const path = require('path');

module.exports = {
  mode: 'development',//设置环境为开发环境
  entry: './src/index.js', //文件配置入口,方式一
  entry: {               //文件配置入口,方式二(防止多次导入)
    //配置入口文件
    index: {
      import: "./src/index.js",
      dependOn: "shared",
    },
    shared: "lodash",
  },
  devtool: 'inline-source-map' //仅用于开发环境,查看编译报错在代码中的具体位置
  output: {
    filename: 'main.js',//指定输出文件
    filename: '[name].bundle.js', //配置多入口文件的输出
    path: path.resolve(__dirname, 'dist'),
    clean: true, //清理 /dist 文件夹
  },
   optimization: {
     splitChunks: {//插件可以将公共的依赖模块提取到已有的入口 chunk 中,或者提取到一个新生成的 chunk。使用这个插件,可以将重复的模块去除
       chunks: 'all',
     },
   },
   module: {
     rules: [
     //配置加载css,图片,json,字体,数据等格式文件
       {
         test: /\.css$/i,
         use: ['style-loader', 'css-loader'],
       },
      {
        test: /\.(png|svg|jpg|jpeg|gif)$/i,
        type: 'asset/resource',
      },
     ],
};

npx webpack

执行 npx webpack,会将我们的脚本 src/index.js 作为 入口起点,也会生成 dist/main.js 作为 输出。

加载 CSS

为了在 JavaScript 模块中 import 一个 CSS 文件,你需要安装 style-loader 和 css-loader,并在 module 配置 中添加这些 loader:

npm install --save-dev style-loader css-loader

加载数据

此外,可以加载的有用资源还有数据,如 JSON 文件,CSV、TSV 和 XML。类似于 NodeJS,JSON 支持实际上是内置的,也就是说 import Data from ‘./data.json’ 默认将正常运行。要导入 CSV、TSV 和 XML,你可以使用 csv-loader 和 xml-loader。让我们处理加载这三类文件:

npm install --save-dev csv-loader xml-loader

加载自定义 JSON 模块 parser

npm install toml yamljs json5 --save-dev

HtmlWebpackPlugin

HtmlWebpackPlugin 创建了一个全新的文件,所有的 bundle 会自动添加到 html 中。

webpack-dev-server (仅用于开发环境)

为你提供了一个基本的 web server,并且具有 live reloading(实时重新加载) 功能。

npm install --save-dev webpack-dev-server

webpack-dev-middleware(仅用于开发环境)

个人理解是修改本地运行的端口号

npm install --save-dev express webpack-dev-middleware
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值