无法导入Typescript文件

时间:2019-12-29 13:23:53

标签: typescript backbone.js

我是打字稿新手。我正在尝试将Backbone包含在打字稿中并执行路由。我正在使用节点服务器为该应用程序提供服务。但是我无法导入 .ts 文件中的文件。

我的 tsconfig.json 文件如下。

    "compilerOptions": {
      "target": "es6",
      "module": "UMD",
      "sourceMap": true
    },
    "exclude": [
      "node_modules"
    ]
  }

我的 index.html

<html lang="en">
<head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title></title>
        <style type="text/css">

        </style>
</head>
<body style = "width: 100%;">
        <div class="nav">
                <div class="bus"><a href="" >Home</a></div>
                <div class="bus"><a href="#ordinaryBus" >OrdinaryBus</a></div>
                <div class="bus"><a href="#superLuxury" >SuperLuxury</a></div>
        </div>
        <div id="container"></div>
        <script id="newVehicleTemplate" type="text/template">
            <input class="registration-number" type="text"></input> 
            <button class="add">Add</button>
        </script>

        <script id="busTemplate" type="text/template">

             <%= busName %>
             <button class="delete">Delete</button>
        </script>
    <script src="node_modules/jquery/dist/jquery.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.4.0/backbone-min.js"></script>

    <script type="text/javascript" src="app.js" ></script>

</body>
</html>

和我的 app.ts 文件如下

import AppRouter from './router';

 class AppManager {
    constructor(){
        this.init()
    }
    private router: AppRouter;
    // private BusModels: BusModels;
    // constructor(options?any){
    //     super(options);
    //     )
    // }
    public init(){
        this.initRouter();
    }
    private initRouter(): any{
        this.router = new AppRouter();
        this.router.on("VIEWHOME",this.viewHome,this);
        this.router.on("VIEWBUSES",this.viewBuses,this);
        Backbone.history.start();
        return<any>this;
    }

    private viewHome(event){
     console.log('From viewHome');
    }
    private viewBuses(event){
        console.log('From ViewBuses');
    }
}
new AppManager()

当我删除导入行时,将执行新的AppManager。但是,如果我添加导入行,则AppManager不会执行,并且不会引发任何错误。

我的路由器文件为


 class AppRouter extends Backbone.Router
  {

    routess = {
        '': 'viewHome',
        'viewHome': 'viewHome',
        'ordinaryBus': 'viewBuses',
        'superLuxury': 'viewBuses',
    };
    constructor( options?: Backbone.RouterOptions) {
        super(options);
        this.routess = <any>{
            '': 'viewHome',
            'viewHome': 'viewHome',
            'ordinaryBus': 'viewBuses',
            'superLuxury': 'viewBuses'
        };
        (<any>this)._bindRoutes();
    }

    initialize() {
        // can put more init code here to run after constructor
    }

    private viewHome() {
        this.trigger("VIEW_HOME");
        document.write("home Route Invoked");
        return this;
    }
    private viewBuses() {
        this.trigger("VIEW_BUSES")
        document.write("bus Route Invoked");
        return this;
    }
}
export default AppRouter;

我找不到我犯错的地方。请纠正我。 预先感谢

0 个答案:

没有答案