0

我的问题(详细)在这里可能有重复,但我无法得到答案,因为我花了 3 天时间搜索它。我是 typescript 的新手,想使用 ' npm start' 命令运行一个 TS 项目(而不是其中的任何 angular 2 东西)。请看下面的代码:

我的目录结构是

我的目录结构

myClass.ts(它在模块目录中)

export namespace Classes {
    export class NewClass {
        constructor(public msg:string){}
        displayMessage ():string{
            return this.msg;
        }
    };
};

迎接者.html

<!DOCTYPE html>
<html>
  <head><title> TypeScript Greeter </title></head>
  <body>
    <script src='greeter.js'></script>
  </body>
</html>

迎接者.ts

import {Classes} from 'module/myClass';
class Greeter extends Classes.NewClass {
    constructor(public greeting: string) { 
        super('');
    }
    greet() {
        return "<h1>" + this.greeting + "</h1>";
    }
};

var greeter = new Greeter("Hello, world!");
var newClass = new Classes.NewClass("This is my message.");
document.body.innerHTML = greeter.greet() + newClass.displayMessage();

包.json

{
  "name": "greeter",
  "version": "1.0.0",
  "description": "Sample TS app",
  "main": "greeter.ts",
  "scripts": {
    "start": "tsc && http-server"
  },
  "keywords": [
    "TS"
  ],
  "author": "",
  "license": "MIT",
  "dependencies": {
  }
}

tsconfig.json

{
    "compilerOptions": {
        "baseUrl": "./",
        "sourceMap":  true,
        "module": "commonjs",       
        "outDir": "./out"
    },
    "files": [
        "greeter.ts",
        "module/myClass.ts"
    ]
}

打字.json

{
  "globalDependencies": {
    "node": "registry:dt/node#6.0.0+20160928143418"
  }
}

我的查询是

  1. 在观看了一些教程后,我已经包含了“dt~node”类型,但是在这种情况下是否有必要?

  2. 我来自 javascript 背景,所以我不确定如何在我的项目中包含类型文件。我是否需要在 greeter.html 中包含用于输入文件或其他内容的参考路径。请具体说明。

  3. 在窗口的命令中运行“npm start”后,我无法使其工作,因为浏览器控制台显示此错误:

浏览器控制台的错误

如果有人可以指导我解决我的疑问,请提供帮助。谢谢你。

4

0 回答 0