我正在研究this answer
的第一部分当我将main.ts编译为js
时require("amd-loader");
import someModule = require('../mymodule')
var someClass = new someModule.MyNamespace.MyClass();
它变成了:
define(["require", "exports", '../mymodule'], function (require, exports, someModule) {
require("amd-loader");
var someClass = new someModule.MyNamespace.MyClass();
});
然后它给了我define is not defined
错误
当我如下修改它时,错误就会消失。
require("amd-loader");
define(["require", "exports", '../mymodule'], function (require, exports, someModule) {
var someClass = new someModule.MyNamespace.MyClass();
});
然后我得到Cannot read property 'MyClass' of undefined
错误
如何解决这些错误并使其按照Q&A中提到的那样正常工作?
我的环境是Visual Studio 2015,我使用AMD选项作为模块系统编译(显然我尝试了每个选项)。我正在进行角度量角器e2e测试
答案 0 :(得分:1)
正如this answer的basarat所说,在这种情况下应该使用CommonJS。
在Visual Studio 2015版本14.0.23.107.0中,似乎TypeScript模块系统选项不起作用,并且它始终与任何选定的任何一个编译
因此可以选择this post CommonJS。
瞧它用CommonJS编译并按预期工作