【问题标题】:webpack-dev-server & jsxhint: const '$__0' has already been declaredwebpack-dev-server & jsxhint: const '$__0' 已经被声明
【发布时间】:2015-08-27 02:31:39
【问题描述】:

不知何故,当我运行以下命令时,jsxhint 似乎正在分析 webpack 编译的文件

 webpack-dev-server --devtool eval --colors --progress --content-base ./build

我收到这些警告

const '$__0' has already been declared. @ line <n> char <m>

应用程序中大约 30% 的文件。

当我转到Sources Tab &gt; webpack:// &gt; . &gt; relative-path-to-file 时,它引用了与我的 chrome devtools 中可用的(已处理的)文件相对应的行号和字符号。我试图找到这些文件在磁盘上的位置以将它们添加到预加载器的排除列表中,但根据webpack-dev-server documentation,这些文件是从内存中提供的。

我已尝试完全删除应用程序和所有节点模块并从存储库中再次检出,但这并没有解决问题。

删除node_modules文件夹后更新package.json文件中的节点模块后问题开始。我已经尝试回滚到所有节点模块的先前版本,但问题仍然存在。

webpack.config.js 的内容

...

preLoaders: [
      {
        test: /\.jsx?$/,
        loader: 'jsxhint-loader?harmony',
        exclude: /node_modules/
      }
    ],
loaders: [
  {
    test: /\.jsx?$/,
    loader: "react-hot!babel",
    exclude: /node_modules/
  },

package.json

...

"devDependencies": {
  "autoprefixer-core": "^5.2.0",
  "babel-core": "^5.5.6",
  "babel-jest": "^5.2.0",
  "babel-loader": "^5.1.4",
  "css-loader": "^0.14.5",
  "file-loader": "^0.8.4",
  "html-webpack-plugin": "^1.5.0",
  "jest-cli": "^0.4.11",
  "json-loader": "^0.5.2",
  "jsx-loader": "^0.13.2",
  "jsxhint-loader": "^0.2.0",
  "less": "^2.5.1",
  "less-loader": "^2.2.0",
  "node-libs-browser": "^0.5.2",
  "postcss-loader": "^0.4.4",
  "react-hot-loader": "^1.2.7",
  "react-immutable-proptypes": "^1.0.0",
  "react-tools": "^0.13.3",
  "style-loader": "^0.12.3",
  "url-loader": "^0.5.6",
  "webpack": "^1.9.10",
  "webpack-dev-server": "^1.9.0"
},

【问题讨论】:

    标签: npm reactjs webpack webpack-dev-server


    【解决方案1】:

    删除?harmony preloader 参数似乎已经解决了这个问题。这个参数在内部被发送到reactTools,它在到达jsx-loader 之前对源代码执行转换。似乎两个版本的模块不兼容(react-tools@0.12.2jsxhint-loader@0.2.0)以这种方式使用。

    这已将var {foo} = this.props 等语句从转换为$__0 = this.props; var foo = $__0.foo; 改为转换为var _props = this.props; var foo = _props.foo;。到目前为止,我还没有发现命名冲突,例如在删除 harmony 参数之前发生的冲突。

    【讨论】:

      猜你喜欢
      • 2019-10-10
      • 1970-01-01
      • 2018-10-25
      • 2020-02-13
      • 1970-01-01
      • 2021-11-18
      • 2014-12-10
      • 2016-05-25
      • 2019-06-24
      相关资源
      最近更新 更多