node.js - React TypeScript 在 Windows 上构建项目,但不在 Linux 上
问题描述
所以我正在开发一个使用 React TypeScript 的项目。
这package.json
{
"version": "0.1.0",
"private": true,
"dependencies": {
///...
"react": "^16.8.6",
"react-scripts-ts": "3.1.0",
},
"scripts": {
"start": "react-scripts-ts start",
"build": "react-scripts-ts build",
},
"devDependencies": {
///...
"@types/react": "16.8.0",
"npm": "^6.10.0",
"typescript": "^3.5.2"
}
}
这tsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"outDir": "build/dist",
"module": "esnext",
"target": "es5",
"lib": ["es6", "dom", "esnext"],
"sourceMap": true,
"allowJs": true,
"jsx": "react",
"moduleResolution": "node",
"rootDir": "src",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"importHelpers": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": true,
"allowSyntheticDefaultImports": true,
"skipLibCheck": true
},
"exclude": [
"node_modules",
"build",
"scripts",
"acceptance-tests",
"webpack",
"jest",
"src/setupTests.ts"
]
}
只需一个npm install; npm start
,它就可以在 Windows 上正常构建和编译,并使用 TSC @3.5.2 运行。对于 Linux(Ubuntu),它在 TSC @3.7.5 上运行并且出现语法错误并且无法编译,即使在 TSC @3.5.2 上我得到相同的结果,例如:
(80,67): Property 'email' does not exist on type '{}'.
解决方案
我会尝试两件事:
- 首先,删除
node_modules
两个构建上的文件夹并尝试新npm install
的,然后是npm start
- 如果这不起作用,还请尝试从/中删除
^
s ,然后重复 #1。我的理论是,当你.devDependencies
dependencies
@types
npm install
让我知道这些是否有效!
推荐阅读
- api - 如何使用 Office.js API 阅读选定邮件列表
- javascript - 我的表单提交不起作用是什么问题阻止它工作?
- c# - 无法在 SqlQuery 中选择特定列 - 实体框架代码优先
- android - 我的应用程序崩溃并给出错误通道已无法恢复,将被处理
- r - 按每组条件过滤 data.table
- c# - 机器人无法加入机器人模拟器中的会话
- javascript - 如何实现切换按钮链接?
- php - 使用 php 和 laravel 将数据库数据从一个循环传递到多个 div
- java - 我想遍历hashmap并在其中调用对象的方法
- html - 浏览器 Firefox 中 span 与其伪 ::before 之间的重叠