San*_*ord 18 typescript reactjs webpack
我正在尝试用React,TypeScript和Webpack组建一个非常基础的项目.当我编译时,我从react
文件夹中得到以下错误node_modules
(我已经删除了堆栈跟踪和我的项目的简洁路径):
ERROR in ./node_modules/react/cjs/react.production.min.js
Module not found: Error: Can't resolve 'fbjs/lib/emptyFunction' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.development.js
Module not found: Error: Can't resolve 'fbjs/lib/emptyFunction' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.production.min.js
Module not found: Error: Can't resolve 'fbjs/lib/emptyObject' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.development.js
Module not found: Error: Can't resolve 'fbjs/lib/emptyObject' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.development.js
Module not found: Error: Can't resolve 'fbjs/lib/invariant' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.development.js
Module not found: Error: Can't resolve 'fbjs/lib/warning' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.production.min.js
Module not found: Error: Can't resolve 'object-assign' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.development.js
Module not found: Error: Can't resolve 'object-assign' in '.../node_modules/react/cjs'
ERROR in ./node_modules/react/cjs/react.development.js
Module not found: Error: Can't resolve 'prop-types/checkPropTypes' in '.../node_modules/react/cjs'
Run Code Online (Sandbox Code Playgroud)
我尝试卸载TypeScript并用Babel替换它以转换JSX并得到相同的错误. 安装babel-preset-2015
固定它.
我已经试过几乎所有的组合target
,并module
在tsconfig.json
得到的打字稿同样的结果,但无法得到任何工作. 如何让Webpack,TypeScript和React协同工作?
我以前使用过这三种技术,这是最近的兼容性问题吗?如果是这样,最新的兼容版本是什么?
我已经看到了一些类似于这个解决方案fbjs
直接在项目中安装的问题 - 我也尝试过这个问题但没有成功.
{
"compilerOptions": {
"target": "es5",
"jsx": "react",
"module": "es2015"
},
"exclude": ["build"]
}
Run Code Online (Sandbox Code Playgroud)
module.exports = {
entry: {
dev: "./src/index.tsx",
},
output: {
filename: "./build/index.js",
},
devtool: "source-map",
resolve: {
extensions: [".ts", ".tsx"],
},
module: {
loaders: [
// Typescript
{ test: /\.tsx?$/, loader: "ts-loader" },
],
},
};
Run Code Online (Sandbox Code Playgroud)
{
...
"scripts": {
"build": "webpack"
},
"devDependencies": {
"@types/react": "^16.0.28",
"ts-loader": "^3.2.0",
"typescript": "^2.6.2",
"webpack": "^3.10.0"
},
"dependencies": {
"react": "^16.2.0"
}
}
Run Code Online (Sandbox Code Playgroud)
import * as React from "react";
const a = <div />;
Run Code Online (Sandbox Code Playgroud)
(我在安装了Node 9.2.1和NPM 5.6.0的情况下运行它)
arp*_*rpl 36
Webpack不解析.js
文件.将此添加到您的webpack.config.js
.
resolve: {
extensions: [".ts", ".tsx", ".js", ".jsx"]
},
Run Code Online (Sandbox Code Playgroud)
这是tsconfig.json
我用来运行你的例子.
{
"compilerOptions": {
"jsx": "react",
"lib": ["es6", "dom"],
"rootDir": "src",
"module": "commonjs",
"target": "es5",
"sourceMap": true,
"moduleResolution": "node",
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true
},
"include": [
"./src"
],
"exclude": [
"node_modules",
"build"
]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8076 次 |
最近记录: |