oracle 波浪号不识别,Vue中@import路径不能使用波浪号(~)吗?

在Vue项目中遇到@import '~abc/dist/abc.full.css'编译错误,但去掉波浪线后能正常加载。问题源于postcss-import插件。通过检查.postcssrc.js配置文件,注释掉postcss-import或自定义resolve方法解决了问题。原因是Vue默认的postcss配置不支持以波浪线开头的模块导入。
摘要由CSDN通过智能技术生成

Vue中类似这样引入css,

@import ‘~abc/dist/abc.full.css’

编译会报错,Error:Fail to find ‘~abc/dist/abc.full.css’

用最新的vue-cli创建新项目,进行测试,仍然有这个问题。

去掉波浪线,即改为@import ‘abc/dist/abc.full.css’却可以正常加载。已确认abc是已正常安装的模块。

不知道有没有人遇到过,请不吝赐教,谢谢。

网上搜了两天了,没有结果。

补充信息:

异常是从node_modules\_postcss-import@11.0.0@postcss-import\lib\resolve-id.js中报出来的,我猜测是因为vue默认采用postcss-import来导入css,而postcss-import官方文档中说明对模块的导入不需要加波浪号(~)。 反复查找发现工程下有一个postcss配置文件.postcssrc.js,内容如下:

module.exports = {

“plugins”: {

“postcss-import”: {},

“postcss-url”: {},

“autoprefixer”: {}

}

}

注释掉postcss-import后,发现webpack编译时可以支持波浪号了。

module.exports = {

“plugins”: {

// “postcss-import”: {},

“postcss-url”: {},

“autoprefixer”: {}

}

}

问题解决,且弄清楚了问题原因。

另一个更好的解决办法:

module.exports = {

“plugins”: {

“postcss-import”: {

resolve(id) {

if (id.charAt(0) == '~') {

return id.substr(1)

} else {

return id

}

}

},

“postcss-url”: {},

“autoprefixer”: {}

}

}

73bccf0c0b4af35beddca4274520fb45.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值