问题记录-前端开发避坑(4)--webpack打包相关

问题1

使用webpack打包ES6模块,报错:

TypeError: Cannot read property 'properties' of undefined (reading 'default')

问题分析

使用ES6语法导入其他模块时,相同路径下的其他模块需要一一导入,而不能通过路径下的再导出文件来导入。举例:
模块路径为:src/modules/...
路径下有两个模块 A.ts 和 B.ts,还有一个再导出文件 index.ts,用于向外部导出这两个模块。各文件内容如下:
A.ts

class A { ... }
export default A

B.ts

class B { ... }
export default B

index.ts

import A from './A.ts'
import B from './B.ts'

在 A 模块里导入 B 模块时,需要使用 import B from './B.ts',而不能写成 import B from './index.ts'
因为这样写会导致循环引用:A 模块和 index.ts 在相互引用,形成了循环。

解决方案

相同路径下的其他模块文件仅单独导入,如果是路径外的文件需要导入时,则通过 index.ts 减少不同路径之间的依赖路径数。

问题2(当时未解决,现在已无法复现错误,是正常运行了)

问题描述

通过 webpack-dev-server 插件,启用热更新服务,通过 npm run serve 命令启动虚拟服务端后会报错,错误提示与这个 CASE 类似,但目前已无法复现错误:https://stackoverflow.com/questions/43037590/field-browser-doesnt-contain-a-valid-alias-configuration

问题分析

一开始做练习 DEMO 的时候一直提示错误,后来修改了 package.json 下的 scripts 属性,将 start 设置为 'webpack serve',然后就能正常运行了。现在回过头去想复现以下错误,但暂时无法复现,先将该问题记录下来,如果之后再次遇到,再来修改。

问题3(当时已解决,但没有及时记录,记不起当时具体的错误原因了)

问题描述

使用webpack插件webpack-dev-server,页面出现Cannot GET/

问题分析

依稀记得属于操作失误,没有输入填写对应的路径,导致访问不到。但记不起具体是哪个地方的路径没填对,可能是配置文件,也可能是网址。先记录下来。

posted @ 2022-06-27 00:01  CJc_3103  阅读(168)  评论(0编辑  收藏  举报