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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误通常发生在使用Webpack,因为Webpack CLI没有正确安装或配置。是的,这个错误通常发生在使用Webpack,因为Webpack CLI没有正确安装或配置。Webpack CLI是一个命令行工具,用于在命令行中运行Webpack命令。如果Webpack CLI没有正确安装或配置,它可能无法找到所需的模块,从而导致出现类似“cannot find module 'webpack-cli/bin/config-yargs'”的错误。 解决这个问题的方法包括: 1. 确认你已经全局安装了webpack-cli:在命令行中输入“npm list -g webpack-cli”,检查webpack-cli是否已经安装。如果没有安装,可以通过“npm install -g webpack-cli”来全局安装webpack-cli。 2. 确认你的项目中已经安装了webpack-cli:在项目的根目录下,运行“npm list webpack-cli”,检查webpack-cli是否已经安装。如果没有安装,可以通过“npm install webpack-cli --save-dev”来安装webpack-cli。 3. 确认你的webpack配置文件是否正确:检查webpack.config.js文件中是否正确地配置了webpackwebpack-cli。 4. 如果上述方法都没有解决问题,可以尝试更新npm和node.js版本,然后重新安装webpack-cli。 ### 回答2: 这个错误是由于缺少webpack-cli模块中的bin/config-yargs文件所引起的。webpack-cliwebpack的命令行工具,用于执行webpack命令。当我们执行webpack命令,会查找webpack-cli模块,并在其中查找bin/config-yargs文件。如果找不到这个文件,就会抛出"cannot find module 'webpack-cli/bin/config-yargs'"的错误。 要解决这个问题,我们可以尝试以下几个方法: 1. 检查webpack-cli模块是否已安装:首先确保你已经在项目中安装了webpack-cli模块。可以通过在命令行中执行npm ls webpack-cli命令来检查。 2. 版本兼容性问题:如果你已经安装了webpack-cli模块,但仍然出现错误,可能是由于版本兼容性问题导致的。尝试安装或更新webpack-cli模块的最新版本,可以使用npm install webpack-cli@latest命令来更新。 3. 清除缓存:有候,在安装或升级模块后,旧的缓存文件可能会导致错误。可以尝试清除npm缓存,使用npm cache clean命令清除缓存,然后重新安装webpack-cli模块。 如果以上方法都没有解决问题,可能是其他相关配置文件出现了问题,可以检查webpack配置文件是否正确,并确保相关依赖模块已安装。 总之,错误"cannot find module 'webpack-cli/bin/config-yargs'"通常是由于缺少或损坏的webpack-cli模块所引起的。通过检查模块是否安装、更新模块版本、清除缓存等方法,可以尝试解决这个问题。如果问题仍然存在,可能需要进一步检查其他配置文件或依赖项。 ### 回答3: 这个错误提示表示无法找到模块'webpack-cli/bin/config-yargs'。这通常是因为没有正确安装或配置WebpackCLI(命令行工具)。 要解决这个问题,可以尝试以下几个步骤: 1. 确认安装了webpack-cli模块:在命令行中输入`npm install webpack-cli -g`或`yarn global add webpack-cli`来全局安装webpack-cli模块。如果之前已经安装过,可以尝试卸载并重新安装。 2. 检查Webpack的配置文件:确认项目根目录中是否存在webpack.config.js或其他Webpack的配置文件。如果没有,则需要创建一个。 3. 更新Webpack的版本:如果已经安装了旧版本的Webpack,尝试更新到最新版本。可以使用`npm update webpack`或`yarn upgrade webpack`来更新。 4. 清除缓存并重新安装依赖:有候,缓存中的某些文件可能导致问题。可以尝试使用`npm cache clean`或`yarn cache clean`来清除缓存,并重新安装项目的依赖。 5. 确保正确执行Webpack命令:在命令行中输入`webpack`来执行Webpack命令。确保正确使用了Webpack的命令行参数和选项。 如果以上步骤都无法解决问题,可以尝试搜索类似的错误信息,查看其他开发者的解决方案,或提交问题到相关社区寻求帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值