相关疑难解决方法(0)

使用System.js在TypeScript中加载模块

我有一个用TypeScript编写的Node.js和AngularJS应用程序,我正在尝试使用System.js加载模块.

如果我只导入一个类来指定一个类型,它工作正常.例如:

import {BlogModel} from  "./model"
var model: BlogModel;
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用导入的类实例化变量时,我在运行时获得异常.例如:

import {BlogModel} from  "./model"
var model: BlogModel = new BlogModel();
Run Code Online (Sandbox Code Playgroud)

未捕获的ReferenceError:未定义require

我使用CommonJS.我不能使用AMD,因为我有一个服务器端和客户端项目.这就是我使用System.js在客户端加载模块的原因.

这是我的System.js定义:

 <script src="/assets/libs/systemjs-master/dist/system-polyfills.js"></script>
    <script src="/assets/libs/systemjs-master/dist/system.src.js"></script>

    <script>
        System.config({
            packages: {
                app: {
                    format: 'register',
                    defaultExtension: 'js'
                }
            }
        });
        System.import('classes.ts')
                .then(null, console.error.bind(console));
        System.import('model.ts')
                .then(null, console.error.bind(console));
    </script>
Run Code Online (Sandbox Code Playgroud)

这是model.ts文件的内容:

import {User} from "./classes";
import {Post} from "./classes";

export class BlogModel{
    private _currentUser: User;
    private _posts: Post[];

    get currentUser(){
        return this._currentUser;
    }

    set currentUser(value: User){
        this._currentUser = value;
    }

    get posts(){
        return …
Run Code Online (Sandbox Code Playgroud)

typescript systemjs

10
推荐指数
1
解决办法
9120
查看次数

为什么所有JavaScript控制台日志和错误都显示第1行(开发人员工具)

我正在开发一个Javascript项目并使用Chrome F12开发人员工具进行调试.由于某种原因,所有console.log输出和错误消息都声称它们出现在我的js文件的第1行.

...即,在每行右侧的控制台中,myFile.js:1即使第1行没有代码,代码显然也在不同的行上运行.

可能是什么原因造成的?

javascript google-chrome web-developer-toolbar

5
推荐指数
1
解决办法
1750
查看次数