从Typescript到Javascript => chrome浏览器中未定义required

时间:2016-02-23 21:47:59

标签: typescript requirejs angular

自:

import {Component} from 'angular2/core';

要:

var core_1 = require('angular2/core');

我在浏览器中遇到了一些错误:

required is not defined

为什么我必须将requireJS包含为运行时依赖项?角度为2 5分钟的教程并不包含该库!

太讨厌了!

https://angular.io/guide/quickstart

当我这样做时:

    <script src="~/lib/require.js"></script>

由于我编译的javascript,我仍然收到错误:

enter image description here

更新

这些是我的header-tag中的包含脚本:

  <script src="~/lib/es6-shim.js"></script>
    <script src="~/lib/es6-promise.js"></script>

    <script src="~/lib/system-polyfills.js"></script>
    <script src="~/lib/angular2-polyfills.js"></script>
    <script src="~/lib/system.js"></script>

    <script src="~/lib/Rx.js"></script>
    <script src="~/lib/angular2.js"></script>

    <script src="~/lib/http.dev.js"></script>
    <script src="~/lib/router.dev.js"></script>

    <script asp-src-include="~/app/**/*.js"></script>

    <script>
            System.config({
                packages: {
                    app: {
                        format: 'register',
                        defaultExtension: 'js'
                    }
                }
            });
            System.import('app/main')
                  .then(null, console.error.bind(console));
    </script>

更新2

enter image description here

1 个答案:

答案 0 :(得分:2)

您需要SystemJS,不需要requirejs(;

node_modules文件夹加载捆绑包时可能会出现问题,如果是这种情况(请查看Devtools&gt;网络),请尝试使用CDN版本:

<script src="https://code.angularjs.org/2.0.0-beta.0/angular2-polyfills.js"></script>
<script src="https://code.angularjs.org/tools/system.js"></script>
<script src="https://code.angularjs.org/tools/typescript.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/Rx.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/angular2.min.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/http.min.js"></script>

更新

您正在尝试手动加载脚本。您应该让SystemJS执行此操作,只需删除:

<script asp-src-include="~/app/**/*.js"></script>

它应该有用......