我正在尝试将一个非常基础的项目与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'
我尝试卸载TypeScript并将其替换为Babel来转换JSX,并得到了相同的错误。 安装babel-preset-2015
固定好了。
我已经尝试过的每一个组合target
,并module
在tsconfig.json
得到的打字稿同样的结果,但无法得到任何工作。
如何使Webpack,TypeScript和React一起工作?
我之前使用过所有这三种技术,这是最近的兼容性问题吗?如果是这样,最新的兼容版本是什么?
我还看到了其他一些与此问题类似的问题,其中解决方案fbjs
直接安装在项目中-我也尝试过此问题,但没有成功。
{
"compilerOptions": {
"target": "es5",
"jsx": "react",
"module": "es2015"
},
"exclude": ["build"]
}
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" },
],
},
};
{
...
"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"
}
}
import * as React from "react";
const a = <div />;
(我在安装了Node 9.2.1和NPM 5.6.0的情况下运行它)
Webpack无法解析.js
文件。将此添加到您的webpack.config.js
。
resolve: {
extensions: [".ts", ".tsx", ".js", ".jsx"]
},
这是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"
]
}
Webpack 5 boilerplate Webpack 5 boilerplate with support of most common loaders and modules: babel typescript (using ForkTsCheckerWebpack ) sass, less, css modules with automatic typescript declaratio
React Webpack Typescript Starter Minimal starter with hot module replacement (HMR) for rapid development. React (17.x) Webpack (5.x) Typescript (4.x) Hot Module Replacement (HMR) (React Hot Loader) Pr
当node_module库导入索引文件时,webpack为什么不在构建中包含这些库? webpack对我来说仍然是一种黑色的艺术,我还没有完全掌握,所以下面是我试图实现的一个解释。 我正在构建一个测试应用程序,以在AWS Lambda节点服务器上作为无服务器代码运行。目标是通过在服务器上有一个或多个块并且没有node_modules文件夹,使部署包尽可能小。 我正在用TypescriptV3编写文
问题内容: 尝试做时 我收到错误消息“找不到模块’socket.io/node_modules/redis”,我不知道为什么。我正在运行Windows并运行“ npminstall socket.io” 这里似乎是相同的问题:错误:找不到模块’socket.io/node_modules/redis’,但是redis服务器已启动并正在运行。 在“ socket.io/node_modules”文件
问题内容: 我正在尝试使用webpack-dev-server运行一个简单的程序,但出现此错误: 我已经使用以下npm命令安装了webpack 并且我有以下配置: 我已经尝试了一切,但我真的迷路了。有人有什么主意吗? 问题答案: 是不足够的。 您还必须安装以下内容: 另外,您还可以安装:
问题内容: 我想在用Typescript编写的React应用程序中将css- loader与webpack的’modules’选项一起使用。这个例子是我的起点(他们使用Babel,webpack和React)。 webpack配置 这是我想用随附的CSS文件设置样式的React组件: tree.css 说明无论我在做什么(试图改变进口语法,试图声明“要求”为TS-装载机,在这里,我总是得到: 未捕