Javascript 定义未在nodejs typescript应用程序中定义
我正在使用typescript开发nodejs应用程序,其中我编写了一个文件server.js作为fallow:Javascript 定义未在nodejs typescript应用程序中定义,javascript,node.js,typescript,Javascript,Node.js,Typescript,我正在使用typescript开发nodejs应用程序,其中我编写了一个文件server.js作为fallow: import express = require('express'); import mongoose = require('mongoose'); let app=express(); app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable /
import express = require('express');
import mongoose = require('mongoose');
let app=express();
app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable
/**
* Start app
*/
app.listen(app.get('port'), function() {
console.log(`App listening on port ${app.get('port')}!`);
});
我已经使用gulp来传输它,它生成js文件作为
define(["require", "exports", 'express'], function (require, exports, express) {
var app = express();
app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable
/**
* Start app
*/
app.listen(app.get('port'), function () {
console.log("App listening on port " + app.get('port') + "!");
});
});
//# sourceMappingURL=../map/server.js.map
但是当我运行这个文件时,得到的错误是define不是define
如果我做错了,请纠正我
我想你需要一个
amd加载器
在这里,一旦安装,你就可以要求(“amd加载器”)代码>在您的项目中
npm install amd-loader
require("amd-loader");
以下是链接:
如果您编写的应用程序将完全在Node.js中运行,那么在编译TypeScript文件时,应该使用“commonjs”模块,而不是AMD模块
如果您编写的应用程序将同时在Node.js和浏览器中运行,那么在编译TypeScript文件时,应该使用“umd”模块,而不是AMD模块
因此,您需要更改传递给Gulp TypeScript编译器的配置对象,以使用{module:“commonjs”}
或{module:“umd”}
我有一个已定义但尚未加载的模块(由其已加载的属性指示)。如何等待它加载?