Javascript 使用Webpack为手机和桌面提供独立的捆绑包
我试图通过两个指向同一个文件的入口点,从一个代码库构建两个独立的包。不同之处在于,桌面捆绑包中不应包含名称为Javascript 使用Webpack为手机和桌面提供独立的捆绑包,javascript,webpack,Javascript,Webpack,我试图通过两个指向同一个文件的入口点,从一个代码库构建两个独立的包。不同之处在于,桌面捆绑包中不应包含名称为.mobile的必需文件(noops),反之亦然。 通过两次运行webpack并基于两个单独的配置使用null loader,这是非常容易做到的,但是我想知道,出于性能原因,在一次运行中是否可能做到这一点。 有什么想法吗?好吧,我已经晚了一年多,但是如果你还想知道这是怎么做到的,下面是我实现这一点的方法: { entry: { 'desktop/index': './js/
.mobile
的必需文件(noops),反之亦然。通过两次运行webpack并基于两个单独的配置使用
null loader
,这是非常容易做到的,但是我想知道,出于性能原因,在一次运行中是否可能做到这一点。
有什么想法吗?好吧,我已经晚了一年多,但是如果你还想知道这是怎么做到的,下面是我实现这一点的方法:
{
entry: {
'desktop/index': './js/desktop/index.js',
'desktop/post': './js/desktop/post.js',
'desktop/vendor': [
'jquery'
],
'mobile/index': './js/mobile/index.js',
'mobile/vendor': [
'jquery'
]
},
output: {
filename: '[name].[chunkhash].js',
chunkFilename: 'chunk.[chunkhash].js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: ['desktop/common', 'desktop/vendor'],
chunks: ['desktop/common', 'desktop/index', 'desktop/post'],
minChunks: 2
}),
new webpack.optimize.CommonsChunkPlugin({
names: ['mobile/common', 'mobile/vendor'],
chunks: ['mobile/common', 'mobile/index'],
minChunks: 2
})
]
};
我想你可以克隆来看看这个工作。请注意,现在,您必须手动更改.html文件中脚本标记的src。这可能对您有用