【问题标题】:Webpack Compilation failed while generating dist bundle生成 dist 包时 Webpack 编译失败
【发布时间】:2017-12-21 00:04:50
【问题描述】:

我有一个用 bower 和 gulp 构建的 angularjs 应用程序,我决定迁移到 webpack。我把我所有的代码都移到了 ES6 上,我让它在一个开发 webpack 配置中运行,没有任何问题:包括源映射,不丑化,不缩小......

现在我想生成该配置的新版本,其中包含典型的生产任务。总的来说,我希望能够生成两个包:一个用于供应商,一个用于我的应用程序代码。

const pkg = require('../package.json');
// ...
new ExtractTextPlugin('index-[contenthash].css'),
    new webpack.optimize.CommonsChunkPlugin({name: 'vendor'}),
    new webpack.LoaderOptionsPlugin({
      options: {
        postcss: () => [autoprefixer]
      }
    })
  ],
  output: {
    path: path.join(process.cwd(), conf.paths.dist),
    filename: '[name]-[hash].js'
  },
  entry: {
    app: `./${conf.path.src('index')}`,
    vendor: Object.keys(pkg.dependencies)
  }

当我对新的供应商条目文件和通用块插件进行更改时,编译失败并出现以下错误:

ERROR in multi angular angular-aria angular-bootstrap... // all package.json depedencies
Module not found: Error: Can't resolve 'angular-consent' in 'path/to/my/project'

这个错误被记录了好几次,然后又记录了一个不同的:

ERROR in ./~/swagger-ui/dist/swagger-ui.js
Module not found: Error: Can't resolve 'b'
ERROR in ./~/modernizr/lib/options.js
Module not found: Error: Can't resolve 'fs'
// more of the same pattern

我错过了什么?我是否有破坏供应商捆绑包的依赖项?

版本: 角度:1.5.8,webpack:2.7.0。 操作系统:Windows 10 和 OSX El Capitan

【问题讨论】:

    标签: javascript angularjs webpack


    【解决方案1】:

    问题在于我在依赖项 package.json 中声明的某些包:angular-consent 和 font-awesome。 Error including font-awesome with webpack 很好地介绍了不需要包含它们的原因。

    就我而言:

    const excludeDeps= ['angular-consent', 'font-awesome'];
    
      entry: {
        app: `./${conf.path.src('index')}`,
        vendor: Object.keys(pkg.dependencies).filter(name => (excludeDeps.indexOf(name) === -1))
      }
    

    【讨论】:

      猜你喜欢
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 2017-07-25
      • 1970-01-01
      • 2018-06-04
      • 2019-08-04
      • 2012-11-09
      相关资源
      最近更新 更多