Vue Nuxt.js生成文件导入语法错误,路径反斜杠替代正斜杠如何修复?
Nuxt 生成文件反斜杠路径错误修复方案
这个问题是Windows系统下路径格式与前端模块解析规则不兼容导致的,可按以下步骤修复:
- 首先确认Node.js版本是否和项目正常运行时的版本一致,如果近期升级过Node.js,退回原有版本即可,这是最常见的触发原因
- 若Node版本无变动,修改
nuxt.config.js中的build配置,强制所有生成路径使用正斜杠:
// nuxt.config.js 原build配置替换为以下内容 build: { extend(config) { // 全局替换反斜杠为正斜杠 const replaceBackslash = (path) => path ? path.replace(/\\/g, '/') : path config.output.path = replaceBackslash(config.output.path) config.output.publicPath = replaceBackslash(config.output.publicPath) // 修复动态导入路径 config.plugins.push({ apply(compiler) { compiler.hooks.normalModuleFactory.tap('FixPathSlash', factory => { factory.hooks.beforeResolve.tap('FixPathSlash', data => { data.request = replaceBackslash(data.request) return data }) }) } }) } }
- 若上述配置无效,大概率是
@nuxtjs/composition-api依赖的版本兼容问题,可将其降级到v0.33.1版本:
执行卸载命令:yarn remove @nuxtjs/composition-api
执行安装命令:yarn add @nuxtjs/composition-api@0.33.1 - 操作完成后删除
.nuxt文件夹、node_modules文件夹、yarn.lock锁文件,重新执行yarn install和yarn dev即可 - 你也可以选择将项目放到WSL子系统环境中运行,从根源上规避Windows路径格式的兼容问题
内容的提问来源于stack exchange,提问作者Manuel Duarte
相关产品推荐
相关产品推荐

