【发布时间】:2019-09-14 21:24:01
【问题描述】:
我想在 Laravel 5.8 项目中使用 VUE.JS 中的别名来导入我的模块中的 css 和 js。
webpack.mix.js
mix.webpackConfig({
resolve: {
alias: {
'alias': path.resolve(
__dirname,
'~myModule/src'
)
}
}
});
在我的 VUE App.js 中,我想导入 css 文件夹,我写道:
资源/js/app.js
// css files
import 'alias/lib/css'
// js files
import 'alias/lib/script'
但我错了,因为别名没有解析:
./resources/js/app.js 中的错误 未找到模块:错误:无法解析 'alias/lib/css' in...
你能帮我解决这个问题吗?
【问题讨论】:
-
为什么在
path.resolve函数中使用波浪号~? -
@AndriiGolubenko,我尝试使用和不使用〜但不起作用。我以为 ~ 是 node_modules 的别名。
-
您是否尝试将 node_modules 的路径指定为相对路径?像这样
path.join(__dirname, './node_modules/myModule/src' ) -
当我在 Laravel Mix 中看到 webpack 配置时,您应该能够从您感兴趣的模块中导入文件,如下所示:
import 'myModule/src/lib/script.js' -
@AndriiGolubenko 感谢 Andrii 的帮助。这是真的 Laravel MIx 使用 import 'myModule/src/lib/script' 效果很好(没有 .js 它会导入所有文件夹)。但是如果我替换模块版本,我更喜欢使用别名在一个地方更新所有 url:它只是为了有一个干净的代码。也许我的 webpack.mix.js 不正确或者没有正确加载。
标签: javascript laravel vue.js webpack laravel-mix