Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Reactjs React没有导出的成员';道具';_Reactjs_Typescript_Webpack_React Router_Typescript Typings - Fatal编程技术网

Reactjs React没有导出的成员';道具';

Reactjs React没有导出的成员';道具';,reactjs,typescript,webpack,react-router,typescript-typings,Reactjs,Typescript,Webpack,React Router,Typescript Typings,我已经到处寻找这个问题的解决方案,但没有任何运气。我正在试图找出为什么会出现以下错误: ERROR in ~/node_modules/@types/react-router/lib/applyRouterMiddleware.d.ts (4,43): error TS2305: Module ‘”~/node_modules/react/react".export=' has no exported member 'Props'. 其中有数百个与引用未导出属性的大多数@types定义文件相关

我已经到处寻找这个问题的解决方案,但没有任何运气。我正在试图找出为什么会出现以下错误:

ERROR in ~/node_modules/@types/react-router/lib/applyRouterMiddleware.d.ts
(4,43): error TS2305: Module ‘”~/node_modules/react/react".export=' has no exported member 'Props'.
其中有数百个与引用未导出属性的大多数@types定义文件相关

我在这里使用webpack进行构建过程。以下是webpack.config.js

module.exports = {
  target: 'node',
  devtool: 'source-map',
  devServer: { historyApiFallback: true },
  context: root(),
  entry: './src/index.tsx',

  resolve: {
    extensions: [ '', '.js', '.ts', '.tsx', '.scss', '.css' ],
    root: root('src'),
    alias: {
      //inject environment variables via aliases
      conf: isProd() ? './conf/production.js' : './conf/development.js',
    },
  },

  output: {
    filename: 'bundle.js', //the output js file
    path: root('dist'), //build directory
    libraryTarget: 'umd',
  },

  externals: {
    fs: 'fs',
    winston: 'winston',
    system: '{}',
    file: '{}',
  },

  module: {
    loaders: [
      {
        test: /\.tsx?$/,
        loader: 'ts-loader',
      },
      {
        test: /\.(s)?css$/,
        loader: extractCSS.extract('css-loader!postcss-loader'),
      },
      {
        test: /\.json$/,
        loader: 'json-loader', //reference by npm module or path to loader file
      },
      {
        test: /\.jpe?g$|\.gif$|\.png$|\.svg$|\.woff$|\.eot$|\.ttf$/,
        loader: 'file-loader?name=assets/images/[sha512:hash:base64:7].[ext]',
        exclude: root('node_modules'),
      },
    ],
  },

  plugins: [
    extractCSS,
    new StaticHTMLPlugin(
      'bundle.js',
      root('src/Routing.tsx'),
      [ '.png', '.gif', '.jpg', '.jpeg', '.css', '.scss' ]
    ),
  ],
}
"dependencies": {},
"devDependencies": {
  "@types/history": "^2.0.39",
  "@types/node": "^6.0.46",
  "@types/react": "^0.14.44",
  "@types/react-dom": "^0.14.18",
  "@types/react-router": "^2.0.38",
  "@types/winston": "0.0.29",
  "css-loader": "^0.25.0",
  "extract-text-webpack-plugin": "^1.0.1",
  "file-loader": "^0.9.0",
  "fs": "0.0.1-security",
  "history": "^4.3.0",
  "json-loader": "^0.5.4",
  "postcss-assets": "^4.1.0",
  "postcss-assets-rebase": "^0.4.0",
  "postcss-cssnext": "^2.8.0",
  "postcss-inline-svg": "^2.1.2",
  "postcss-loader": "^0.13.0",
  "precss": "^1.4.0",
  "react": "^15.3.2",
  "react-dom": "^15.3.2",
  "react-router": "^3.0.0",
  "stylelint": "^7.4.0",
  "ts-loader": "^0.9",
  "tsc": "^1.20150623.0",
  "tslint": "^3.15",
  "tslint-config-standard": "^1.3.0",
  "tslint-eslint-rules": "^1.5.0",
  "tslint-loader": "^2.1.5",
  "tslint-react": "^1.0.0",
  "typescript": "^2.0.3",
  "typescript-react-router-static-html-webpack-plugin": "^0.1",
  "webpack": "^1.13.2",
  "webpack-dev-server": "^1.16.2",
  "winston": "^2.2.0"
}
这是包.json的副本:

module.exports = {
  target: 'node',
  devtool: 'source-map',
  devServer: { historyApiFallback: true },
  context: root(),
  entry: './src/index.tsx',

  resolve: {
    extensions: [ '', '.js', '.ts', '.tsx', '.scss', '.css' ],
    root: root('src'),
    alias: {
      //inject environment variables via aliases
      conf: isProd() ? './conf/production.js' : './conf/development.js',
    },
  },

  output: {
    filename: 'bundle.js', //the output js file
    path: root('dist'), //build directory
    libraryTarget: 'umd',
  },

  externals: {
    fs: 'fs',
    winston: 'winston',
    system: '{}',
    file: '{}',
  },

  module: {
    loaders: [
      {
        test: /\.tsx?$/,
        loader: 'ts-loader',
      },
      {
        test: /\.(s)?css$/,
        loader: extractCSS.extract('css-loader!postcss-loader'),
      },
      {
        test: /\.json$/,
        loader: 'json-loader', //reference by npm module or path to loader file
      },
      {
        test: /\.jpe?g$|\.gif$|\.png$|\.svg$|\.woff$|\.eot$|\.ttf$/,
        loader: 'file-loader?name=assets/images/[sha512:hash:base64:7].[ext]',
        exclude: root('node_modules'),
      },
    ],
  },

  plugins: [
    extractCSS,
    new StaticHTMLPlugin(
      'bundle.js',
      root('src/Routing.tsx'),
      [ '.png', '.gif', '.jpg', '.jpeg', '.css', '.scss' ]
    ),
  ],
}
"dependencies": {},
"devDependencies": {
  "@types/history": "^2.0.39",
  "@types/node": "^6.0.46",
  "@types/react": "^0.14.44",
  "@types/react-dom": "^0.14.18",
  "@types/react-router": "^2.0.38",
  "@types/winston": "0.0.29",
  "css-loader": "^0.25.0",
  "extract-text-webpack-plugin": "^1.0.1",
  "file-loader": "^0.9.0",
  "fs": "0.0.1-security",
  "history": "^4.3.0",
  "json-loader": "^0.5.4",
  "postcss-assets": "^4.1.0",
  "postcss-assets-rebase": "^0.4.0",
  "postcss-cssnext": "^2.8.0",
  "postcss-inline-svg": "^2.1.2",
  "postcss-loader": "^0.13.0",
  "precss": "^1.4.0",
  "react": "^15.3.2",
  "react-dom": "^15.3.2",
  "react-router": "^3.0.0",
  "stylelint": "^7.4.0",
  "ts-loader": "^0.9",
  "tsc": "^1.20150623.0",
  "tslint": "^3.15",
  "tslint-config-standard": "^1.3.0",
  "tslint-eslint-rules": "^1.5.0",
  "tslint-loader": "^2.1.5",
  "tslint-react": "^1.0.0",
  "typescript": "^2.0.3",
  "typescript-react-router-static-html-webpack-plugin": "^0.1",
  "webpack": "^1.13.2",
  "webpack-dev-server": "^1.16.2",
  "winston": "^2.2.0"
}
你知道这里会发生什么吗?我对React库本身不是很熟悉。我没有看到直接导出属性,但我没有深入研究lib,看看它们是否以另一种方式导出

我觉得奇怪的是,如果React lib和@types/React typings之间不一致,那么我是唯一遇到这个问题的人。这就是为什么我倾向于这是某种配置问题

我也在tsc上运行了这个项目,它看起来确实构建得很好。虽然b/c tsc在控制台中输出数千条垃圾线,但很难确定


谢谢。

因此,这里的解决方案是将
tsconfig.json
prop、
allowJs
设置为
false

"compilerOptions": {
  "allowJs": false
}
现在,我的问题是为什么?有人能解释一下吗