我在本地系统上运行ReactJs App时收到此错误。该应用程序用于构建chrome扩展程序。
终端错误
../common/src/utils/index.ts 1:23
Module parse failed: Unexpected token (1:23)
You may need an appropriate loader to handle this file type.
> export const delay = (t: number) => new Promise((resolve) => setTimeout(resolve, t));
|
| export const recurce = (f: Function, timeout: number) => setTimeout(() => f(), timeout);
Chrome控制台上的错误
0.chunk.js:78512 ../common/src/utils/states.ts 4:7
Module parse failed: Unexpected token (4:7)
You may need an appropriate loader to handle this file type.
| const UsaStates = require('usa-states').UsaStates;
|
> export interface IUSAState {
| abbreviation: string;
| name: string;
console.<computed> @ 0.chunk.js:78512
package.json
{
"name": "extention",
"version": "0.1.0",
"private": true,
"dependencies": {
"@material-ui/core": "^3.9.2",
"@types/jest": "24.0.7",
"@types/node": "11.9.5",
"@types/react": "16.8.5",
"@types/react-dom": "16.8.2",
"axios": "^0.18.0",
"country-json": "^1.0.8",
"jwt-decode": "^2.2.0",
"react": "^16.8.3",
"react-dom": "^16.8.3",
"react-jss": "^8.6.1",
"typeface-roboto": "0.0.54",
"typescript": "3.3.3333",
"usa-states": "0.0.5"
},
"scripts": {
"start": "react-scripts start",
"build": "node ./scripts/build-non-split.js",
"test": "react-scripts test",
"eject": "react-scripts eject",
"web:build": "env-cmd --use-shell 'web-ext build'",
"preweb:build": "npm run build"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"@types/chrome": "0.0.86",
"@types/jwt-decode": "^2.2.1",
"@types/react-jss": "^8.6.3",
"env-cmd": "^10.0.1",
"react-scripts": "^2.1.5",
"rewire": "^4.0.1",
"web-ext": "^4.0.0"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve"
},
"include": [
"src"
]
}
注意:我发现了许多与此错误相关的答案,但似乎都与babel
有关,但babel
不在我的package.json中
您的浏览器正在尝试读取打字稿文件,而浏览器不读取打字稿。需要将其转换为JavaScript。 package.json中的脚本会为您执行此操作。
没有看到build-non-split.js
我会说尝试使用默认的react-scripts版本:
node react-scripts build
然后通过生成的/dist/index.html
文件输入项目。