我是Visual Studio Code的新手,从Visual Studio 2015开始横向移动。
我正在使用webpack在VSC中编写我的第一个nodejs / Angular 2惨败。快速生成器提供的示例应用程序是一种享受,但现在我正在编写自己的代码,主要是在TypeScript中。
我在app.ts中有这个代码:
import * as express from 'express';
import * as http from 'http';
import * as path from 'path';
var controllers = require('./controllers');
var app = express();
app.set('port', process.env.PORT || 80);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'vash');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// map the routes
controllers.init(app);
// development only
if ('development' === app.get('env')) {
app.use(express.errorHandler());
}
// set up server
http.createServer(app).listen(app.get('port'), () => {
console.log(`Express server listening on port ${app.get('port') }`);
});
webpack.config.js:
var webpack = require('webpack'),
path = require('path');
var app = __dirname;
module.exports = {
context: app,
entry: {
app: ['webpack/hot/dev-server', './app.ts']
},
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js']
},
output: {
path: app,
filename: "bundle.js"
},
module: {
loaders: [
{ test: /\.css$/, loader: "style!css" },
{ test: /\.ts(x?)$/, loader: 'babel-loader!ts-loader' }
]
},
plugins: [
new webpack.HotModuleReplacementPlugin()
]
};
tsconfig.json:
{
"compilerOptions": {
"target": "ES6"
},
"files": [
"app.ts"
]
}
我有很多问题由VSC提出。在我的.ts的第一行,"找不到模块'表达'。"现在我已经运行" npm intall express -g"甚至" npm install express"所以我不知道它为什么抱怨。 node_module文件夹包含预期的快速文件夹。
此外,我的"流程"令人愉快的是:"找不到姓名'进程'。",我的" __ dirname"。
所有这些让我觉得nodejs没有正确配置。
任何人都可以帮助解决这些问题吗?我会在其他地方寻找答案,但我不知道在哪里看,也不知道为了什么!
答案 0 :(得分:1)
/// <reference path="typings/express/express.d.ts" />
易。
答案 1 :(得分:-2)
您可能没有显示所有代码,但我看不到任何地方:
var express = require('express')