我正在尝试在JS中创建自己的模块。由于我是ES6的新手,所以我很困惑。当前,我有两个不同的模块,需要将它们包含在两个不同的页面中。而且我不知道如何导出具有自己的library
和libraryTarget
的模块数组。
我在我的modules文件夹中创建了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: []
}),
]
});
但是在resolve-> modules中,path.resolve永远不会被调用。
在我的authentication.js
中,我有一个简单的export default function() { console.log("hello!") }
现在在浏览器中,当我尝试在登录页面上使用window.authentication.hello();
时,我得到undefined
。所以我的问题是如何导出具有特定库的模块,以便能够在需要的页面上使用它们?