Javascript 如何在Typescript中导入模块(浏览器端)?

Javascript 如何在Typescript中导入模块(浏览器端)?,javascript,html,typescript,requirejs,transpiler,Javascript,Html,Typescript,Requirejs,Transpiler,我正在尝试从typescript中的另一个文件导入模块。但我得到了以下错误: scripts.js:6 Uncaught TypeError: Cannot read property 'Rectangle' of undefined(…) 下面是另一个文件(module.js)中的简单模块,但目录相同: export module Shapes { export class Rectangle { constructor ( public

我正在尝试从typescript中的另一个文件导入模块。但我得到了以下错误:

scripts.js:6 Uncaught TypeError: Cannot read property 'Rectangle' of undefined(…)
下面是另一个文件(module.js)中的简单模块,但目录相同:

export module Shapes {  
    export class Rectangle {
        constructor (
            public height: number, 
            public width: number) {
    }
    }

    export var rect1 = new Rectangle(10, 4);
}
以及导入的文件(scripts.js):

import {Shapes} from "./module";

let myshapes:Shapes.Rectangle;

myshapes=new Shapes.Rectangle(1,2);
还有index.html

<script data-main="scripts" src="./require.js"></script>
谢谢


John。

您是否需要围绕“矩形”的“名称空间”“形状”?不需要,只是为了学习如何使用模块。。。显然,我不明白。它不会改变任何事情。我仍然有这个问题。我认为模块文件没有导入。如果您不需要它,我建议调用shapes.ts文件,然后从“/shapes”导入{Rectangle}。我还使用此模式将类组合在一起。我认为“module”只用于类型声明。我现在了解到可以使用“名称空间”而不是“模块”:哼。我认为它不是从那来的。如果我照你说的做,我会得到一个错误:“scripts.js:4 uncaughttypeerror:module_1.Rectangle不是一个构造器,你需要围绕着矩形的“名称空间”“形状”吗“?不是真的,只是学习如何使用模块。。。显然,我不明白。它不会改变任何事情。我仍然有这个问题。我认为模块文件没有导入。如果您不需要它,我建议调用shapes.ts文件,然后从“/shapes”导入{Rectangle}。我还使用此模式将类组合在一起。我认为“module”只用于类型声明。我现在了解到可以使用“名称空间”而不是“模块”:哼。我认为它不是从那来的。如果我照你说的做,我会得到一个错误:“scripts.js:4 uncaughttypeerror:module_1.Rectangle不是构造函数
{
    "compilerOptions": {
        "module": "amd",
        "target": "es5",
        "noImplicitAny": false,
        "sourceMap": false
    },
    "exclude": [
        "node_modules"
    ]
}