如何使用webpack输出多个文件夹?

Jos*_*ose 8 javascript gruntjs webpack

我有一个JS模块的文件夹结构.我想要每页一个模块.这不是单页面应用.

如何在文件夹结构中输出文件?

从我所看到的,唯一的可能性是输出[name].js.如果我使名称非常独特,或者我可以使名称具有-文件夹分隔符,这可能会有效.这意味着a/b/c.js将转化为名称a-b-c.我真的不喜欢这个.我希望能够require("a/b/c").

据我所知,我不能使用单个捆绑文件,因为require在模块外部不可用.如果是的话,我可以require("a/b/c")在每个页面上构建一个捆绑包.

如果有一个很好的方法,我没有在互联网上找到这个,请告诉我.

看起来我可以使用r.js轻松地使用require.js,但我不想使用require.js并且想要CommonJS模块.

Ana*_*pov 11

您可以使用斜杠定义入口点,如下所示:

entry: {
    "main-plugin/js/background":"./src/main-plugin/background"
}
Run Code Online (Sandbox Code Playgroud)

output像这样:

output: {
    path: path.join(__dirname, 'public'),
    filename: '[name].js'
},
Run Code Online (Sandbox Code Playgroud)

此设置将创建一个public/main-plugin/js文件夹并将其background.js放入其中.它起码至少Win7x64.


小智 1

您也可以使用[名称]创建新文件夹。像这样:

output: {
    path: __dirname,
    filename: '[name]/[name].js',
    chunkFilename: '[name].js',
    publicPath: '/assets/'
},
Run Code Online (Sandbox Code Playgroud)