typescript TS 找不到模块
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/40479432/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
TS cannot find modules
提问by Vanquish46
I have used https://github.com/FountainJS/generator-fountain-webappto set up a new project using React & Typescript. I'm pretty comfortable with JS having used node for an ongoing project, but not familiar with TS where the problem seems to lie.
我已经使用https://github.com/FountainJS/generator-fountain-webapp使用 React & Typescript 设置了一个新项目。我对 JS 已经在一个正在进行的项目中使用 node 感到很舒服,但对 TS 似乎问题所在的地方不熟悉。
I have ran the generator with the following environment: typescript, react, webpack w/ NPM, gulp.
我在以下环境中运行了生成器:typescript、react、webpack w/NPM、gulp。
When I run gulp serve
I get the output below. I'm quite confused why it can't find the files - they are all there on my file system. I've looked at other questions and haven't found anything that resolves my issue
当我运行时,gulp serve
我得到下面的输出。我很困惑为什么找不到文件 - 它们都在我的文件系统中。我查看了其他问题,但没有找到任何可以解决我的问题的问题
[23:04:52] Loading /Users/omelvin/github_projects/kaizen/gulp_tasks/browsersync.js
[23:04:53] Loading /Users/omelvin/github_projects/kaizen/gulp_tasks/karma.js
[23:04:54] Loading /Users/omelvin/github_projects/kaizen/gulp_tasks/misc.js
[23:04:54] Loading /Users/omelvin/github_projects/kaizen/gulp_tasks/webpack.js
[23:04:54] Using gulpfile ~/github_projects/kaizen/gulpfile.js
[23:04:54] Starting 'serve'...
[23:04:54] Starting 'webpack:watch'...
ts-loader: Using [email protected] and /Users/omelvin/github_projects/kaizen/tsconfig.json
[23:05:01] Time: 6436ms
Asset Size Chunks Chunk Names
index.js 1.11 MB 0 main
index.js.map 1.32 MB 0 main
ERROR in ./src/index.tsx
(5,24): error TS2307: Cannot find module 'react'.
ERROR in ./src/index.tsx
(6,27): error TS2307: Cannot find module 'react-dom'.
ERROR in ./src/index.tsx
(7,45): error TS2307: Cannot find module 'react-router'.
ERROR in ./src/index.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
ERROR in ./src/app/title.tsx
(3,24): error TS2307: Cannot find module 'react'.
ERROR in ./src/app/title.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
ERROR in ./src/app/techs/techs.tsx
(3,24): error TS2307: Cannot find module 'react'.
ERROR in ./src/app/techs/techs.tsx
(4,24): error TS2307: Cannot find module 'axios'.
ERROR in ./src/app/techs/techs.tsx
(33,10): error TS2339: Property 'state' does not exist on type 'Techs'.
ERROR in ./src/app/techs/techs.tsx
(39,24): error TS2503: Cannot find namespace 'Axios'.
ERROR in ./src/app/techs/techs.tsx
(40,14): error TS2339: Property 'setState' does not exist on type 'Techs'.
ERROR in ./src/app/techs/techs.tsx
(51,17): error TS2339: Property 'state' does not exist on type 'Techs'.
ERROR in ./src/app/techs/techs.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
ERROR in ./src/app/techs/tech.tsx
(3,24): error TS2307: Cannot find module 'react'.
ERROR in ./src/app/techs/tech.tsx
(50,44): error TS2339: Property 'props' does not exist on type 'TechComponent'.
ERROR in ./src/app/techs/tech.tsx
(52,17): error TS2339: Property 'props' does not exist on type 'TechComponent'.
ERROR in ./src/app/techs/tech.tsx
(54,18): error TS2339: Property 'props' does not exist on type 'TechComponent'.
ERROR in ./src/app/techs/tech.tsx
(55,18): error TS2339: Property 'props' does not exist on type 'TechComponent'.
ERROR in ./src/app/techs/tech.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
ERROR in ./src/app/main.tsx
(3,24): error TS2307: Cannot find module 'react'.
ERROR in ./src/app/main.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
ERROR in ./src/app/header.tsx
(3,24): error TS2307: Cannot find module 'react'.
ERROR in ./src/app/header.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
ERROR in ./src/app/footer.tsx
(3,24): error TS2307: Cannot find module 'react'.
ERROR in ./src/app/footer.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
ERROR in /Users/omelvin/github_projects/kaizen/src/app/footer.spec.tsx
(4,24): error TS2307: Cannot find module 'react'.
ERROR in /Users/omelvin/github_projects/kaizen/src/app/footer.spec.tsx
(5,27): error TS2307: Cannot find module 'react-dom'.
ERROR in /Users/omelvin/github_projects/kaizen/src/app/footer.spec.tsx
(6,28): error TS2307: Cannot find module 'react-addons-test-utils'.
ERROR in /Users/omelvin/github_projects/kaizen/src/app/footer.spec.tsx
(10,1): error TS2304: Cannot find name 'describe'.
ERROR in /Users/omelvin/github_projects/kaizen/src/app/footer.spec.tsx
(11,3): error TS2304: Cannot find name 'it'.
ERROR in /Users/omelvin/github_projects/kaizen/src/app/footer.spec.tsx
(14,5): error TS2304: Cannot find name 'expect'.
ERROR in /Users/omelvin/github_projects/kaizen/src/app/footer.spec.tsx
(1,1): error TS6053: File '/Users/omelvin/github_projects/kaizen/typings/index.d.ts' not found.
Child html-webpack-plugin for "index.html":
Asset Size Chunks Chunk Names
index.html 564 kB 0
[23:05:01] Finished 'webpack:watch' after 6.45 s
[23:05:01] Starting 'watch'...
[23:05:01] Finished 'watch' after 54 ms
[23:05:01] Starting 'browsersync'...
[23:05:01] Finished 'browsersync' after 78 ms
[23:05:01] Finished 'serve' after 6.58 s
[BS] [BrowserSync SPA] Running...
[BS] Access URLs:
--------------------------------------
Local: http://localhost:3000
External: http://10.193.122.24:3000
--------------------------------------
UI: http://localhost:3001
UI External: http://10.193.122.24:3001
--------------------------------------
[BS] Serving files from: .tmp
[BS] Serving files from: src
ts-loader: Using [email protected] and /Users/omelvin/github_projects/kaizen/tsconfig.json
webpack built 5ccca2fe23cfa5a1a610 in 5073ms
采纳答案by corinnaerin
TypeScript relies on definition files that define the types, interfaces, etc. for libraries. I'm not familiar with FountainJS, but I'm guessing it's smart enough to create a typings.json
file in your workspace. If so, all you need to do is install typings(npm install typings --global
) and then use it to install the definitions by doing typings install
.
TypeScript 依赖于定义库的类型、接口等的定义文件。我不熟悉 FountainJS,但我猜它足够聪明,可以typings.json
在您的工作区中创建一个文件。如果是这样,您需要做的就是安装Typings( npm install typings --global
),然后通过执行 使用它来安装定义typings install
。
If they didn't include typings.json
(though I can't imagine they wouldn't), follow the instructions on their README
to search for and install definitions for the dependencies.
如果他们不包括typings.json
(虽然我无法想象他们不会),请按照他们的说明README
搜索和安装依赖项的定义。
I generally add the following lines to package.json
so that the typings will be installed automatically any time you run npm install
我通常添加以下几行,package.json
以便在您运行时自动安装类型npm install
"scripts": {
"postinstall": "npm run typings",
"typings": "typings install",
}
"scripts": {
"postinstall": "npm run typings",
"typings": "typings install",
}
If you're not familiar with TypeScript, I recommend going through their basic tutorial to get you started: https://www.typescriptlang.org/docs/tutorial.html.
如果您不熟悉 TypeScript,我建议您阅读他们的基本教程以开始使用:https: //www.typescriptlang.org/docs/tutorial.html。
回答by Hyphen Wrex
?R?e?m?o?v?i?n?g? ?"?m?o?d?u?l?e?"? ?a?n?d? ?"?t?a?r?g?e?t?"? ?f?i?e?l?d?s? ?f?r?o?m? ??t?s?c?o?n?f?i?g?.?j?s?o?n?
? ?w?o?r?k?e?d? ?f?o?r? ?m?e?.?
?R?e?m?o?v?i?n?g? ?“?模块?”??和??“?目标?”??f?i?e?l?d?s? ?从?? ?t?s?c?o?n?f?i?g?.?j?s?o?n?
? ?w?o?r?k?e?d? ?为了??我?。?
Update: removing target
is ok, but removing module
is not an option as the compiler depends on it. You can also solve the problem by adding "moduleResolution": "node"
to the tsconfig
.
更新:删除target
是可以的,但删除module
不是一个选项,因为编译器依赖于它。您还可以通过添加"moduleResolution": "node"
到tsconfig
.