webpack项目搭建以及编译时遇到Error: Cannot find module ‘webpack-cli/bin/config-yargs‘的问题

1、webpack项目搭建

  • 新建一个文件夹,命令行进入文件夹目录,运行npm init命令,根据需要填写项目信息,入口文件为index.js -->如下图所示
    在这里插入图片描述
  • 在进入项目目录安装webpack和webpack-cli
    命令行输入npm install webpack webpack-cli --save-dev,如下图
    在这里插入图片描述
  • 编写项目代码
    添加index.html、index.js、add-content.js,如图
    在这里插入图片描述
    add-content.js有一个write方法向页面输出HelloWorld,内容如下:
function write() {
  document.write('Hello World')
}
var app = {}
app.write = write

export default app;

index.js引用add-content,并调用里面的方法,内容如下:

import app from './add-content.js'

app.write()

index.html内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script src="./dist/bundle.js"></script>
  <title>HelloWorld</title>
</head>
<body>

</body>
</html>

注意,这里index.html引用的是 dist/bundle.js.

  • webpack 打包项目
    命令行输入npx webpack --entry=./index.js --output-filename=bundle.js --mode=development
    打包后项目目录下会增加,dist/bundle.js,此时可以直接运行index.html了

说明:
a. webpack webpack-cli 是在项目目录下安装的无法运行webpack命令,所以使用npx

b. --entry是项目的入口文件,webpack默认入口文件为src/index.js,因此如果和默认一致可以不写该配置项

c. --output-filename 打包后的输出目录 ,webpack默认入口文件为dist/main.js,因此如果和默认一致可以不写该配置项

d. --mode 打包模式,有development、production、none三种模式

  • 每次打包都输入一长串命名太麻烦了,可以在package.json中进行配置
    package.json中的script项添加build

“build”: “webpack --entry=./index.js --output-filename=bundle.js --mode=development”,

这样在命令行输入 npm run dev就可以了

  • 到目前为止已经可以开发了,不过开发过程中每次改动后都需要打包、刷新页面,有些低效,那么webpack-dev-server就很好地解决了这个问题。

安装:npm install webpack-dev-server --save-dev

package.json中的script项添加dev,设置host、port和publicPath

“dev”: “webpack-dev-server --host=172.23.119.121 --port=9006 --publicPath=/dist”,

  • .参数太多可以放在单独的文件里面
    在项目根目录下新建webpack.conifg.js文件,内容如下:
module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js'
  },
  mode: 'development',
  devServer: {
    publicPath: '/dist/',
    hot: true,
    compress: true,
    host: '172.23.119.121',
    port: 9006
  }
}

同时修改package.json的scripts:

“build”: “webpack”,
“dev”: “webpack-dev-server”,

webpack默认配置文件为根目录下的webpack.conifg.js,如果指定配置文件可以像下面这样写:

“build”: “webpack --config=./build/config.js”,
“dev”: “webpack-dev-server --config=./build/config.js”,

最后命令行输入 npm run dev即可运行。

2、运行npm run dev遇到的问题:Error: Cannot find module ‘webpack-cli/bin/config-yargs’,如图
在这里插入图片描述
 解决方法:

卸载当前的 webpack-cli 
命令行输入npm uninstall webpack-cli

安装 webpack-cli 3.* 版本
命令行输入 npm install webpack-cli@3 -D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值