angular js 2 基本设置问题

angular js 2 basic setup issues

我有 PHP 和 JavaScript 背景,从来没有全职使用过 nodejs 或 angular js,只是对这些 js 有基本的了解。

我开始学习 angular js 2,但发现很难设置第一个示例。

node v 5.6.0 and npm version 3.7.2 on ubuntu 14.04

我在 this article 之后进行了更改 -- tsd 已被弃用,因此使用 typings 而不是 tsd。下面是我的文件夹结构。

但是当我在终端上 运行 gulp buildServer 时出现以下错误

我可能犯了非常基本的错误,请帮助我解决这个问题,如果需要更多信息,请告诉我。

server.ts 有以下代码

import express = require('express');
import path = require('path');
var port: number = process.env.PORT || 3000;
var app = express();

app.use('/app', express.static(path.resolve(__dirname, 'app')));
app.use('/libs', express.static(path.resolve(__dirname, 'libs')));

var renderIndex = (req: express.Request, res: express.Response) => {
    res.sendFile(path.resolve(__dirname, 'index.html'));
}

app.get('/*', renderIndex);

var server = app.listen(port, function() {
    var host = server.address().address;
    var port = server.address().port;
    console.log('This express app is listening on port:' + port);
});

它说 cannot find module 'path' 然后又说 http 等等。根据我的经验,重复标识符的错误也是由于使用旧版本的 npm 造成的,因为自 npm v3.0 以来它试图使 all dependencies flat.

我会尝试 rm -rf node_modules,安装最新的稳定 nodenpm,运行 再次 npm install 然后尝试 运行宁你 gulp。或者至少检查一下你的 npmnode 版本是什么。

您需要获取节点和服务器静态的类型定义。

typings install node --ambient --save
typings install serve-static --ambient --save
typings install mime --ambient --save

您需要 mime,因为 serve-static 依赖它。