js webpack 配置路径_webpack的配置及使用

本文介绍了webpack的配置,包括mode、entry、output、loader、dev-server、plugin等关键部分。详细讲解了如何配置路径,如何处理js以外的资源,如使用css-loader、style-loader、postcss-loader和less-loader。此外,还提到了webpack-dev-server的用法,以及在开发和生产环境下的不同配置策略。最后,讨论了代码质量管理与检测,包括ESLint的配置与执行。
摘要由CSDN通过智能技术生成

64de814e2f096076f7336836e0e0e3b4.png

安装 cnpm i -g webpack-cli

配置 webpack.config.js:

mode

  • none 不优化
  • development 输出调试信息,设置process.env.NODE_ENV
  • production 最高优化,启用压缩、忽略错误

entry

单入口——SPA 多入口——MPA

output

path: 路径——必须是绝对路径

module:
{
rules: [{ test: /.css$/i, use: ["style-loader", "css-loader"] }],
},

loader

解析js以外的东西

webpack 可以使用 loader 来预处理文件。这允许你打包除 JavaScript 之外的任何静态资源。你可以使用 Node.js 来很简单地编写自己的 loader。

css-loader 读取css,输出js字符串。 解析 CSS 文件后,使用 import 加载,并且返回 CSS 代码。

style-loader 输出字符串

  • css-loader 解析css文件、import
  • postcss-loader+autoprefixer 加前缀
  • less-loader 编译less

dev-server

cnpm i webpack webpack-cli webpack-dev-server css-loader style-loader file-loader url-loader -D
  • webpack 核心
  • webpack-cli 命令行
  • webpack-dev-server dev-server核心

html的路径不用dest,只写bundle.js。

用于开发环境生产环境的文件路径不同,所以需要两套配置,在config文件夹下创建webpack.production.js和webpack.development.js,并在webpack.config.js中将webpack.production.js展开后进行判断,如果存在production,及使用其路径文件。不存在就使用development。

const path = require("path");
module.exports = function ( env, argv) {
env = env || { development: true };
return {
entry: "./src/js/index.js",
...(env.production
? require("./config/webpack.production")
: require("./config/webpack.development")),
};
};

plugin

cnpm i html-webpack-plugin -D

帮助build生成HTML文件

{ ..., plugins: [ new HtmlWebpackPlugin({ template: '...' }) ] }

代码质量管理及检测

执行

node node_modules/eslint/bin/eslint.js --init

​ 会在完成一系列问题后生成.eslintrc.js文件,但由于文件不会自动向下自动查找,所以需要输入如上所示的冗长的路径。

​ 另一种添加selink的方法是在json文件中添加命令,json存在向下查找机制,所以在scripts中添加

"eslint_init": "eslint --init"

运行

cnpm run eslint_init

选择如下

How would you like to use ESLint? · style √ What type of modules does your project use? · esm √ Which framework does your project use? · none √ Does your project use TypeScript? · No √ Where does your code run? · browser √ How would you like to define a style for your project? · guide √ Which style guide do you want to follow? · standard √ What format do you want your config file to be in? · JavaScript

完整配置

生成json
cnpm init -y 基本配置
cnpm i webpack webpack-cli webpack-dev-server css-loader style-loader postcss-loader autoprefixer less-loader less file-loader url-loader babel-loader @babel/core @babel/preset-env html-webpack-plugin eslint-loader stylelint stylelint-webpack-plugin stylelint-config-standard jest jest-webpack -D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值