Javascript 网页包2:编译过程后,控制器路由器不工作

Javascript 网页包2:编译过程后,控制器路由器不工作,javascript,webpack,Javascript,Webpack,当前的行为是什么? 似乎删除了控制器路由器构造函数的某些部分,导致了意外错误 注意:此问题在Webpack版本1.14.0中不存在 复制 自述文件中的说明 有两个分支: “母版”,可以复制该版本 “web-pack-1-14-0”具有以前的版本,没有错误 预期的行为是什么? 不会生成错误,路由器初始化是一个函数 配置文件 module.exports = { entry: { // app's entry point app: './sr

当前的行为是什么?

似乎删除了控制器路由器构造函数的某些部分,导致了意外错误

注意:此问题在Webpack版本1.14.0中不存在

复制

自述文件中的说明

有两个分支:

  • “母版”,可以复制该版本
  • “web-pack-1-14-0”具有以前的版本,没有错误
预期的行为是什么? 不会生成错误,路由器初始化是一个函数

配置文件

    module.exports = {
      entry: {
        // app's entry point
        app: './src/app.js',

      },
      output: {
        publicPath: '/public/',
        path: path.join(__dirname, 'public'),
        pathinfo: true,
        filename: '[name].bundle.js',
      },
      resolve: {
        modules: [
          path.join(__dirname, './') , // frontend-app
          'node_modules'
        ],
        extensions: ['.js'],
      },
      module: {
        rules: [
          {
            test: /\.js$/,
            loader: 'babel-loader',

            exclude: /node_modules/,
          },
        ],
      },
    };
系统规格

  • 铬55.0.2883.95
  • Safari 10.0.3
  • 节点6.3.1
  • 网页2.2.1
  • MacOS 10.12.3

    • TLDR:添加

      resolve: {
        mainFields: ['browserify', 'browser', 'module', 'main']
      }
      
      到您的配置


      说明:

      在webpack1()中,该字段的默认值为:

      ["webpack", "browser", "web", "browserify", ["jam", "main"], "main"]
      
      但是,在webpack2()中,默认值为:

      ["browser", "module", "main"]
      
      请注意,webpack2默认值中缺少一些项。尤其是,
      browserify
      不存在

      这是由director导出的生成:

        "browserify": "./build/director",
        "main": "./lib/director",
      
      /build/director
      是与浏览器兼容的版本,
      /lib/director
      是节点版本。您必须告诉webpack2使用
      /build/director
      ,因此在您的配置中有
      “browserify”
      条目