我是 Typescript 和 NodeJS 的新手。
出于某种原因:
GetMenuDataCommand.ts
"use strict";
import fs = module("fs")
变成这样:
GetMenuDataCommand.js
var fs = "fs";
打字稿——我爱你——但为什么呢?
我是 Typescript 和 NodeJS 的新手。
出于某种原因:
GetMenuDataCommand.ts
"use strict";
import fs = module("fs")
变成这样:
GetMenuDataCommand.js
var fs = "fs";
打字稿——我爱你——但为什么呢?
我正在使用 TypeScript 0.9 以下代码:
/// <reference path="node.d.ts" />
import fs = require("fs");
fs.appendFile('name.txt', 'Some data');
产生以下相同的输出:
var fs = require("fs");
fs.appendFile('name.txt', 'Some data');
(在 CommonJS 模式下 - 在 AMD 模式下,它会执行以下操作......)
define(["require", "exports", "fs"], function(require, exports, __fs__) {
var fs = __fs__;
fs.appendFile('name.txt', 'Some data');
});
您是否正确引用了该node.d.ts
文件?如果 TypeScript 没有对导入定义文件的引用,它将为导入生成一个字符串,而不是预期的代码。
例如,我有以下内容:
import passport = require('passport');
这正在产生:
var passport = "passport";
原来我忘了引用定义文件。在文件顶部添加引用解决了问题:
/// <reference path="../../definitions/passport.d.ts" />
可以说你应该很容易发现它,因为 TypeScript 编译器会抛出一个错误,但是 0.9.x 有点错误,它并不总是能捕捉到所有东西。
不确定它是否相关但在 ts 0.9.x 中使用 require 而不是 module 关键字:
"use strict";
import fs = require("fs")
你缺少类型。
从命令行。
npm install typings --save-dev
node node_modules/typings/dist/bin.js install dt~node --save --global
您必须包含该global
标志,否则您的文本编辑器将无法获取该.dt.ts
文件。