找不到模块“快递”;找不到名称“进程”;等等
Posted
技术标签:
【中文标题】找不到模块“快递”;找不到名称“进程”;等等【英文标题】:Cannot find module 'express'; Cannot find name 'process'; and so on 【发布时间】:2016-03-13 14:49:31 【问题描述】:我是 Visual Studio Code 的新手,从 Visual Studio 2015 开始横向迁移。
我正在使用 webpack 在 VSC 中编写我的第一个 nodejs/Angular 2 惨败。 express-generator 提供的示例应用程序很好用,但现在我开始编写自己的代码,主要是使用 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 的第一行,“找不到模块 'express'。”现在我已经运行了“npm intall express -g”甚至“npm install express”,所以我不知道它为什么会抱怨。 node_module 文件夹包含预期的 express 文件夹。
此外,我的“进程”正在产生令人愉快的结果:“找不到名称 '进程'。”,我的“__dirname”也是如此。
这一切都让我觉得nodejs配置不正确。
谁能帮助解决这些问题?我会在别处寻找答案,但我不知道在哪里寻找或寻找什么!
【问题讨论】:
你安装了类型定义吗? nodejs 的类型定义?是的。 【参考方案1】:您可能没有显示所有代码,但我在任何地方都看不到:
var express = require('express')
【讨论】:
import * as express from 'express';
我看到了吗?
对不起,我不熟悉 TypeScript,也不知道这个约定。我现在已经查过了。我自己刚开始学习 nodejs,所以建议按照我的教程所述的方式。
没问题。你应该知道;但是,这不是 TypeScript 语法。这是新的 javascript 语法。具体来说,这是 ES2015 模块语法。【参考方案2】:
找到了!失踪了:
/// <reference path="typings/express/express.d.ts" />
简单。
【讨论】:
如果它有帮助,您现在可以将该文件包含在 `tsconfig.json 中,如果它更容易的话。以上是关于找不到模块“快递”;找不到名称“进程”;等等的主要内容,如果未能解决你的问题,请参考以下文章
易语言:错误(36): 找不到指定的对象成员命令名称“打开”。