我有一个非常简单的 TypeScript 应用程序,它使用 webpack 编译得很好,但是在尝试在 Visual Studio 中构建时给了我一个错误“Build:Cannot find module 'react'”。我被卡住了,任何帮助表示赞赏。
包.json:
{
"name": "react-router-test",
"version": "1.0.0",
"description": "",
"main": "./dist/bundle.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "^15.4.0",
"react-dom": "^15.4.0",
"react-router": "^3.0.0"
},
"devDependencies": {
"@types/react": "^0.14.49",
"@types/react-dom": "^0.14.18",
"@types/react-router": "^2.0.39",
"babel-cli": "^6.18.0",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.7",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"ts-loader": "^1.2.1",
"typescript": "^2.0.10",
"webpack": "^1.13.3"
}
}
webpack.config.js:
module.exports = {
entry: "./src/Index.tsx",
output: {
filename: "./dist/bundle.js"
},
resolve: {
// Add '.ts' and '.tsx' as resolvable extensions.
extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js"]
},
module: {
//loaders: [
// { test: /\.tsx$/, exclude: /node_modules/, loader: 'babel-loader?presets[]=es2015&presets[]=react!ts-loader' }
loaders: [
{
test: /\.ts(x?)$/,
loader: "babel-loader!ts-loader"
},
]
},
devServer: {
contentBase: ".",
host: "localhost",
port: 8081
},
externals: {
"react": "React",
"react-dom": "ReactDOM"
},
}
tsconfig.json:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"removeComments": false,
"sourceMap": true,
"target": "es6",
"jsx": "preserve",
"module": "commonjs"
}
}
你好.tsx:
import * as React from "react";
interface IHelloProps { compiler: number }
export class Hello extends React.Component<IHelloProps, {}> {
render() {
return <div > Hell no 2!</div >
}
}