2016-10-31 113 views
1

私はこの問題を解決するために全面的に検索しましたが、運がありませんでした。私は、私は次のエラーを取得しています理由を把握しようとしている:Reactにはエクスポートされたメンバーがありません '小道具'

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' ] 
    ), 
    ], 
} 

ここpackage.jsonのコピーです:

"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タイピングの間に矛盾がある場合、私はこの問題を経験している唯一の人だと私は奇妙に思えます。これが何らかの設定問題であるということに私が傾いている理由です。

私はtscでもプロジェクトを実行しました。実際には正しくビルドされているようです。 b/c tscはコンソールに何千ものガベージ・ラインを出力しますが、確かに分かりにくいです。

ありがとうございました。

答えて

1

だから、ここソリューションはfalsetsconfig.json小道具、allowJsを設定することでした:

"compilerOptions": { 
    "allowJs": false 
} 

、私がここに持っている疑問は、なぜでしょうか?誰でも説明できますか?

関連する問題