javascript - Webpack:拆分 vendor 和应用程序代码

标签 javascript npm webpack

我设置了 React+Webpack 项目。构建初始包需要 60 秒,追加增量更改需要 1 秒,但我什至还没有我的应用程序代码!看来node_modules 的捆绑非常昂贵。我尝试使用公共(public) block 进行拆分,但并没有提高性能。

如何才能使 Webpack 捆绑 node_modules 一次,甚至不监视此目录中的更改?

最佳答案

如果这是一个问题,您不需要在项目中捆绑外部依赖项。您可以将它们添加为外部依赖项。当然,为此,您应该将脚本添加到您的页面中。

假设您将react和react-dom脚本添加到您的页面,您可以在webpack配置文件中添加以下内容:

{
  externals: {
    'react': 'React',
    'react-dom': 'ReactDOM'
  } 
}

这告诉 webpack 的是每次你 require('react') 或 webpack 都会返回一个名为 React 的全局变量。如果您需要('react-dom'),同样的事情

对于每个加载程序,您应该包含所需的文件或排除不需要的文件。

这是一个不包括node_modules的示例:

{
  module: {
    loaders: [
      {
        test: /\.jsx?/,
        exclude: /node_modules/,
        loader: 'babel'
      }
    ]
  }
}

或者甚至更高性能,您可以只包含您需要的文件:

{
  module: {
    loaders: [
      {
        test: /\.jsx?/,
        include: './src',
        loader: 'babel'
      }
    ]
  }
}

关于javascript - Webpack:拆分 vendor 和应用程序代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36373155/

相关文章:

javascript - 将 Webpack 与 React-router bundle.js 一起使用未找到

javascript - Slick JS 仅在查看 html 时不起作用

javascript - 将字符串解析为类似命令行的数组

javascript - Node.js 和 jdbc : TypeError: Cannot read property 'url' of undefined

javascript - 使用 webpack 编译时无法刷新生产中的页面

javascript - WebPack如何将所有的css文件放到一个css文件中

javascript - React JS,加载json数据然后操作它

node.js - 无法解析 sequelize 包

node.js - bcrypt@5.0.0 安装脚本失败

javascript - 如何在文件加载器中使用 webb 图像