学习Vue bug 一、webpack打包错误 ERROR in multi ./src/main.js ./dist/bundle.js

一、先上错误代码

ERROR in multi ./src/main.js ./dist/bundle.js
Module not found: Error: Can't resolve '.\dist\bundle.js' in 'D:\Users\VScode\heima_vueHtml\Vue\黑马05天\07-webpack-study'l\Vue\黑马05天\07-webpack-study'

在这里插入图片描述

二、解决问题

1、前言

在跟着黑马程序员学习前段Vue视频的时候,学到了webpack阶段,突出报错了,使用webpack命令编译JS文件出错,出上面的错。让我苦恼了半天,整整2天的时间。最开始不是这个错,是下面这个错

“Cannot find module 'webpack'

在这里插入图片描述
webpack命令失效,但是 webpack -v 和webpack-cli -v 都没有问题,都能输出版本。
查了很多资料后,还是无法处理,所以老子很生气的重装系统了,就是今天2019.4.16。

2、项目介绍

在这里插入图片描述
新建一个项目07-webpack-study
新建两个文件夹 dist和src文件夹,src文件夹下有css、js、images文件夹和index.html、main.js文件。
安装全局的webpack和webpack-cli

npm i webpack -g
npm i webpack-cli -g

在项目的根目录下进行npm的初始化通过命令

npm init -y

在这里插入图片描述
之后的项目结构
在这里插入图片描述
安装jQuery

npm i jquery

在这里插入图片描述
之后的项目结构
在这里插入图片描述
根据视频,应该是 通过命令

webpack .\src\main.js .\dist\bundle.js

在dist文件夹下生成一个 bundle.js 文件。但是报错了,就是最上面的那个错。

好戏上场

这是为什么呢?原因是我的webpack版本过高,原来的命令已经不适用了

如下查询版本号:

webpack -v

在这里插入图片描述
那应该如何解决?

更换打包命令为:

 webpack .\src\main.js -o .\dist\bundle.js

其中 bundle.js是打包后生成的文件的文件名
在这里插入图片描述
其中的一些参数值:

Version:webpack版本

time:这次打包所花费的时间

列表信息

Asset:打包这次生成的文件

Size:这次生成文件的大小

Chunks:这次打包的分块

chunk Names:这次打包的名称

接下来查看以下项目:
在这里插入图片描述
可以看到main.js已经被打包为了bundle.js文件,但是,这个并没有打包成功! 因为打包的时候没有出现红色的error了,但是还有黄色的警告.如下图.
在这里插入图片描述
黄色警告:是因为webpack 4 引入了模式,有开发模式,生产模式,无这三个状态

以及打开我们生成的文件,代码如下:
在这里插入图片描述
可以看到末尾并没有生成我们所打包的main.js的信息.
黄色部分的警告的意思是,没有设置模式,有开发模式和生产模式两种,接下来,找到package.json.添加上”dev”和”build”这两个信息以及他们的值.

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack –mode deveplopment",
    "build": "webpack –mode production"
  },

先了解两个命令:

npm run dev (开发环境输出的demo.js没有压缩),也就是这个形式的,如下图,这是平时我们写代码的形式:
在这里插入图片描述
npm run build (生产模式输出的demo.js压缩过) ,如下图:
在这里插入图片描述

这个时候执行命令

webpack .\src\main.js -o .\dist\bundle.js

在这里插入图片描述

到这一步了,打包main.js, 黄色警告还是出现!那么应该怎么解决呢?那就是webpack的版本问题,命令不同了
应该使用如下命令进行打包:

npx webpack .\src\main.js -o .\dist\bundle.js --mode development

在这里插入图片描述
在这里插入图片描述
打开bundle.js,拉到最下面,就可以看到把main.js打报到bundle.js 的内容了。
在这里插入图片描述
终于成功了,其实跟着视频学的不同之处 就是版本的问题。

如果你在学习webpack的时候,出现各种问题,更多时候是因为版本的问题,并不是你的问题, 不要灰心. webpack 4语法相对来说比较严格了,根据版本去寻找解决问题的方法才更容易快速地解决问题.不过上述写的东西只是webpack的冰山一角…………

webpack的一些相关命令

如果我们更改我们写的代码的时候,就需要重新进行打包,那就是更改一次又手动进行打包一次,那是很麻烦的,所以我们可以使用如下命令监听这个事件,源文件一更新,就会进行自动打包.一开始watch时关闭地,我需要将它打开.

npx webpack --mode development --watch

注意: 这个命令只是单纯监听了默认的打包路径,也就是能监听到src下index.js的变化,也能够随将变化时进行保存刷新后其自动打包,但是,并不能监听到demo.js. 还有就是你的执行这个命令的时候,它必需属于一直监听的状态, 如果被停止了,那监听状态也停止.

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java冯坚持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值