Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Webpack为手机和桌面提供独立的捆绑包_Javascript_Webpack - Fatal编程技术网

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

这可能对您有用