Nar*_*esh 63 commonjs typescript angular
我定义了以下Angular2组件:
import {Component} from 'angular2/core';
@Component({
selector: 'my-app',
moduleId: module.id,
templateUrl: './app.component.html'
})
export class AppComponent {
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,我在第5行得到以下错误:
src/app/app.component.ts(5,13): error TS2304: Cannot find name 'module'.
Run Code Online (Sandbox Code Playgroud)
我相信module.id指的是CommonJS module变量(见这里).我在tsconfig.json中指定了CommonJS模块系统:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"pretty": true,
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitUseStrict": false,
"noFallthroughCasesInSwitch": true
},
"exclude": [
"node_modules",
"dist",
"typings/browser.d.ts",
"typings/browser",
"src"
],
"compileOnSave": false
}
Run Code Online (Sandbox Code Playgroud)
如何更正TypeScript错误?
yur*_*zui 96
更新
如果您使用Typescript 2 ^,只需使用以下命令:
npm i @types/node --save-dev
Run Code Online (Sandbox Code Playgroud)
(而不是--save-dev你可以只使用快捷方式-D)
或全局安装:
npm i @types/node --global
Run Code Online (Sandbox Code Playgroud)
您还可以指定typeRoots或者types在您的tsconfig.json如果你想,但在默认情况下所有可见"@types"包包含在你的汇编.
旧版
您需要安装节点ambientDependencies.Typings.json
"ambientDependencies": {
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts#138ad74b9e8e6c08af7633964962835add4c91e2",
Run Code Online (Sandbox Code Playgroud)
另一种方法可以使用typings manager全局安装节点定义文件:
typings install dt~node --global --save-dev
Run Code Online (Sandbox Code Playgroud)
然后你的typings.json文件将如下所示:
"globalDependencies": {
"node": "registry:dt/node#6.0.0+20160608110640"
}
Run Code Online (Sandbox Code Playgroud)
Isa*_*aac 45
对于那些希望使用Typescript 2.x和@types执行此操作的人,这是您需要做的:
npm install -D @types/nodetypes: ["node"]在compilerOptions你的tsconfig.json文件中.我很难找到第2步的说明.
参考:打字稿问题9184
编辑:
你也可以这样做:
"typeRoots": [ "node_modules/@types" ]在compilerOptions你的tsconfig.json文件中.这不是types属性,而是自动包含@types你用npm安装的任何好处.例如:
{
"compilerOptions": {
"typeRoots": [
"node_modules/@types"
]
}
}
Run Code Online (Sandbox Code Playgroud)
[第二编辑]
显然,与最新的打字稿,你只需要typeRoots或者types如果tsconfig.json不是在你的项目的根目录或您的类型不存储在node_modules/@types.
TDP*_*TDP 13
将@ angular/angular2 Quickstart项目移植到新的angular cli自动生成项目时,我遇到了这个错误.
似乎moduleId: module.id不再需要了.
这是最新的自动生成组件:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app works!';
}
Run Code Online (Sandbox Code Playgroud)
删除所有出现都解决了我的错误.
asd*_*hak 11
不是"环境"而是通过Typings 1.0尝试"全局"
typings install dt~node --global --save
Run Code Online (Sandbox Code Playgroud)
小智 6
module.id
找不到名称模块。
请按照以下步骤解决此问题,
第 1 步:使用以下命令安装节点模块
npm i @types/node --save
Run Code Online (Sandbox Code Playgroud)
第2步:修改文件tsconfig.app.json下src/app
"types": [
"node"
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52609 次 |
| 最近记录: |