Я пытаюсь создать свои собственные модули в JS.Поскольку я очень новичок в ES6, я действительно растерялся.В настоящее время у меня есть два разных модуля, которые мне нужно включить на двух разных страницах.И я не могу понять, как экспортировать массив модулей с собственными library
и libraryTarget
.
Я создал index.js
в своей папке модулей, и у меня есть это внутри:
module.exports = [
{
entry: [
'/resources/assets/js/modules/medical/forms/l04ax/l04ax.js',
'resources/assets/js/modules/medical/forms/l04ax/l04ax04.js'
],
output: {
path: 'public/js/modules/medical/forms/l04ax',
filename: 'l04ax04.js',
libraryTarget: 'window',
library: 'l04ax04'
}
},
{
entry: '/resources/assets/js/modules/auth/authentication.js',
output: {
path: 'public/js/modules/auth/',
filename: 'authentication.js',
libraryTarget: 'window',
library: 'authentication'
}
}
];
Теперь в моем webpack.mix.js у меня есть это:
// Add shell command plugin configured to create JavaScript language file
mix.webpackConfig({
node: {
fs: "empty"
},
resolve: {
alias: {
"handlebars": "handlebars/dist/handlebars.js"
},
modules: [
'node_modules',
path.resolve(__dirname, 'resources/assets/js/modules/index.js'),
]
},
plugins: [
new WebpackShellPlugin({
onBuildStart: ['php artisan lang:js public/js/lang.json --json --quiet'],
onBuildEnd: []
}),
]
});
Но в модулях resol-> path.resolve никогда не вызывается.
В моем authentication.js
у меня есть простой export default function() { console.log("hello!") }
Теперь в браузере, когда я пытаюсь использовать window.authentication.hello();
на моей странице входа я получаю undefined
.Итак, мой вопрос: как я могу экспортировать модули с определенной библиотекой, чтобы я мог использовать их на нужных мне страницах?