После стольких попыток у меня возникла проблема.Код был хорош, но мне не хватало для правильной загрузки webpack.mix.js:
Из документации Laravel Mix:
Файл webpack.mix.jsфайл - это ваша точка входа для всей компиляции активов.Думайте об этом как обертку легкой конфигурации вокруг Webpack.Смешанные задачи можно объединить в цепочку, чтобы точно определить, как должны компилироваться ваши ресурсы.
Но если вы используете npm run watch , он не перезагружается перед тем, как скомпилировать новыйизменились активы.Это означает:
, если вы находитесь в режиме наблюдения ( npm run watch ), выйдите и перезапустите его, чтобы загрузить новый обновленный webpack.config.js , если вы его изменили.
Наконец-то это сработало!И он правильно разрешает новый псевдоним!
Вот финальная конфигурация, которую я использовал в webpack.config.js :
mix.webpackConfig({
resolve: {
alias: {
'aliasName': path.resolve(
__dirname,
'node_modules/MyModule/src/'
)
}
}
});
Другая альтернатива:
mix.webpackConfig({
resolve: {
modules: [
'node_modules'
],
alias: {
'aliasName' : 'MyModule/src/'
}
}
});
Затем в моем компоненте Vue (или на всякий случай в app.js)
<template>
<myModule-component></myModule-component>
</template>
require('aliasName/lib/css'); // to load full css directory
require('aliasName/lib/script'); // to load full js directory
import MyModuleComponent from 'aliasName/widgets/MyModuleComponent.vue'
...
export default {
...
components: {
'myModule-component': MyModuleComponent
}