webpack 打包 antd 样式文件报错

2021-03-20 18:26:45 +08:00
 buggg

webpack loader 配置: { // antd less 转化 test: /.less$/, include: [path.join(PATHS.node, 'antd')], use: [ styleLoader, // 解释(interpret) @import 和 url() ,会 import/require() 后再解析(resolve)它们 { loader: 'css-loader' }, postcssLoader, { // less 代码转化 loader: 'less-loader', options: { modifyVars: { // 引入 antd 主题颜色覆盖文件 hack: true; @import "${path.join( PATHS.less, 'theme', 'antd-theme.less' )}"; // Override with less file }, javascriptEnabled: true } } ] } 报错信息: ERROR in ./node_modules/antd/es/alert/style/index.less (./node_modules/css-loader/dist/cjs.js??ref--5-1!./node_modules/postcss-loader/src??ref--5-2!./node_modules/less-loader/dist/cjs.js!./node_modules/style-resources-loader/lib??ref--5-4!./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/src??ref--9-2!./node_modules/less-loader/dist/cjs.js??ref--9-3!./node_modules/antd/es/alert/style/index.less) Module build failed (from ./node_modules/less-loader/dist/cjs.js):

@import "../../../../../less/theme/config.less"; var api = require("!../../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js"); ^ Unrecognised input in C:\workspace\dapp-front\node_modules\antd\es\alert\style\index.less (line 6, column 8) 请大佬指点谢谢了

1643 次点击
所在节点    前端开发
7 条回复
izoabr
2021-03-20 19:21:44 +08:00
下次记得排一下版,还有记得要贴 package.json

我个人的经验来看是 less 和 less loader 的版本很重要。
```
"less": "3.9.0",
"less-loader": "5",
```
我用的是这两个版本,允许正常。
buggg
2021-03-22 10:11:14 +08:00
@izoabr 我也是这两个版本..."antd": "^4.8.5", "less": "^3.9.0", "less-loader": "^5.0.0",
izoabr
2021-03-22 10:31:15 +08:00
把 node_modules 删掉,重新 install 一次试试
buggg
2021-03-22 10:35:38 +08:00
@izoabr 删了很多遍了, 我也有 cache clean, 还有就是, 我把全部文件复制到一个没有.git 仓库的文件夹中, 重新 install, 然后 start, 这时候又不报错了, 代码文件, Pakage.json 全都是一样的, 不知道哪里有问题...
izoabr
2021-03-22 10:36:44 +08:00
options: { modifyVars: { // 引入 antd 主题颜色覆盖文件 hack: true; @import "${path.join( PATHS.less, 'theme', 'antd-theme.less' )}"; // Override with less file },
这段配置去掉,你都 import less 了,就没必要去改 vars 了。
izoabr
2021-03-22 10:37:36 +08:00
@buggg #4 那应该是 webpack eject 时机问题,确保 webpack 版本一致。
buggg
2021-03-22 10:41:04 +08:00
@izoabr yarn.lock 文件都是一样的, 版本应该也不会有错吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/763495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX