【发布时间】:2020-08-15 15:36:30
【问题描述】:
我有一个使用 npx create-react-app --template typescript 的 TypeScript React 应用程序。当我运行 npm start 时,我的一个文件中出现错误:
TypeScript error in /<path>/App.tsx:
Cannot find module 'moment'. TS2307
进口:
import moment from 'moment'
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": false,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react",
"noImplicitAny": false,
"experimentalDecorators": true
},
"include": ["src", "husky.config.js", "lint-staged.config.js"]
}
在package.json 中使用"moment": "^2.25.0"。使用 npm。
查看node_modules 目录,我可以看到moment 包,而package.json 文件显示moment 版本为2.25.0
我试过清除npm缓存,删除node_modules和package-lock.json,重新安装,像import * as moment from 'moment'一样导入。
有什么想法吗?这只是今天随机开始发生的。提前致谢。
【问题讨论】:
-
您是否更改了导致此错误出现的代码中的任何内容?是否使用不同的导入?
-
也许你也应该发布你的
package.json -
我这里也有同样的问题,我替换了
import {Moment} from '../../moment/moment';现在它可以工作了,但是我不知道为什么当import {Moment} from 'moment';它发生在角度图表模块中时它不起作用方式。 -
moment 版本 2.25.0 似乎存在问题。 github.com/moment/moment/issues/5486。尝试使用 2.24.0
标签: reactjs typescript npm momentjs