我有我與AMD模塊編譯下面的打字稿文件:打字稿AMD模塊的Node.js
import tsmx = module("../TSMX/tsmx");
tsmx.createServer(1337);
產生以下JS:
define(["require", "exports", "../TSMX/tsmx"], function(require, exports, __tsmx__) {
var tsmx = __tsmx__;
tsmx.createServer(1337);
})
當我嘗試加載它Node.js我得到以下錯誤:
(function(exports,require,module,__filename,__dirname){define([「require ^ R eferenceError:定義未在對象處定義爲 。 (C:\ DB \回購\ TSMX \ TSMX \ TSMXTest \ app.js:1:63) 在Module._compile(module.js:456:26) 在Object.Module._extensions..js(module.js (module.js:356:32) at Function.Module._load(module.js:312:12) at Function.Module.runMain(module.js:497:10):474:10) at Module.load ) 在啓動時(node.js中:119:16) 在node.js中:901:3
如何使這項工作,並得到 「定義」 定義?我需要AMD模塊,因爲我會在瀏覽器中加載一些代碼。
我來自C#和AS3其中進口/命名空間是輕鬆了很多很抱歉,如果這是一個業餘的問題。
編輯: 所推薦的http://requirejs.org/docs/node.html#nodeModules我添加到文件的頂部:
if (typeof define !== 'function')
{
var define = require('amdefine')(module);
}
define(function (require)
{
var dep = require('dependency');
return function() { };
});
但這被放置在由打字稿中定義調用這使得它沒用裏面。 然後我手動將它放在定義調用之外,這只是導致「無法找到模塊」amdefine'「錯誤。
這是否有幫助(與您在編輯中描述的問題):http://stackoverflow.com/a/16214223/1014822?否則,爲什麼不能有一個基類的核心功能,並將其擴展爲網絡的AMD模塊,並再次爲CommonJS的節點? – JcFx 2013-05-06 20:11:32