打字稿无法找到Express模块

时间:2016-05-23 10:11:58

标签: node.js express typescript

我正在尝试创建我的第一个NodeJS应用程序,但是我无法使其正常工作。

这些是我迄今为止从各种博客中采用的步骤,并试图在打字稿中构建第一个nodejs应用程序。

loadingView

hello.ts

#define NUMBER_OF_DOT 15
#define DURATION 1.5

- (id)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];

    if (self) {
        self.replicatorLayer = [[CAReplicatorLayer alloc] init];
        self.replicatorLayer.frame = frame;
        self.replicatorLayer.cornerRadius = 10.0;
        self.replicatorLayer.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.86].CGColor;
        self.replicatorLayer.position = self.center;
        self.replicatorLayer.instanceDelay = DURATION/NUMBER_OF_DOT;
        [self.layer addSublayer:self.replicatorLayer];

        float size = frame.size.width*14/200;
        self.dot = [[CALayer alloc] init];
        self.dot.bounds = CGRectMake(0, 0, size, size);
        self.dot.position = CGPointMake(frame.size.width/2, frame.size.height/5);
        self.dot.backgroundColor = [UIColor colorWithWhite:0.8 alpha:1.0].CGColor;
        self.dot.borderColor = [UIColor whiteColor].CGColor;
        self.dot.borderWidth = 1.0;
        self.dot.cornerRadius = 1.5;
        self.dot.transform = CATransform3DMakeScale(0.01, 0.01, 0.01);    
        [self.replicatorLayer addSublayer:self.dot];

        self.replicatorLayer.instanceCount = NUMBER_OF_DOT;
        float angle = 2*M_PI/NUMBER_OF_DOT;
        self.replicatorLayer.instanceTransform = CATransform3DMakeRotation(angle, 0.0, 0.0, 0.1);

        self.shrink = [[CABasicAnimation alloc] init];
        self.shrink.keyPath  = @"transform.scale";
        self.shrink.fromValue = [NSNumber numberWithFloat:1.0];
        self.shrink.toValue = [NSNumber numberWithFloat:0.1];
        self.shrink.duration = DURATION;
        self.shrink.repeatCount = INFINITY;

        [self.dot addAnimation:self.shrink forKey:nil];
    }

    return self;
}

当我使用TypeScript

构建编译ts文件时
npm install -g express-generator
npm install -g typescript
express SampleApp
npm install -g typings
typings install dt~node --global
typings install dt~express dt~serve-static dt~express-serve-static-core --global
cd SampleApp
npm install

我经历过各种资源,找不到解决方案。 我想我不必手动将node.d.ts和express.d.ts文件复制到项目文件夹中。

如果我单独使用nodejs和expressjs import express = require('express'); var app = express(); ,它可以正常工作。 >>> tsc -m commonjs -t es5 hello.ts hello.ts(1,26): error TS2307: Cannot find module 'express'. 插件是我无法做到的事情

任何人都可以帮助我在这里做错了吗?

2 个答案:

答案 0 :(得分:1)

我通过卸载typings包并使用--global --save

重新安装typings来修复此问题
1. npm uninstall typings --global
2. npm install typings --global
3. typings install dt~node dt~express --global --save

然后打字稿文件正在编译好。

报告问题:https://github.com/typings/typings/issues/543

答案 1 :(得分:0)

打字稿不包含用于表达的类型描述,必须使用以下内容添加

npm i @types/express