首页 文章

升级Angular项目

提问于
浏览
0

我正在将Angular项目从Angular 2 rc4升级到当前版本,即2.4.4 . 我已经在另一个内部项目中完成了这项工作,但是当我这样做时,我遇到了一些奇怪的错误 .

我已经升级了所有角度包,以及typescript,zone.js,rxjs和新的@types模块 . 我的systemjs.config.js文件如下所示:

var System;
(function(global) {
    const paths = {
        'deps:': 'js/dependencies/'
    };
    // map tells the System loader where to look for things
    var map = {
        'app':                                  'js/app', // 'dist',
        'rxjs':                                 'deps:rxjs',
        'ng2-bootstrap':                        'js/dependencies/ng2-bootstrap',
        'ng2-file-upload':                      'deps:ng2-file-upload',
        'moment':                               'deps:moment',
        'lodash':                               'deps:lodash',
        'symbol-observable':                    'deps:symbol-observable',
        '@angular/core':                        'deps:@angular/core/bundles/core.umd.js',
        '@angular/common':                      'deps:@angular/common/bundles/common.umd.js',
        '@angular/compiler':                    'deps:@angular/compiler/bundles/compiler.umd.js',
        '@angular/platform-browser':            'deps:@angular/platform-browser/bundles/platform-browser.umd.js',
        '@angular/platform-browser-dynamic':    'deps:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
        '@angular/http':                        'deps:@angular/http/bundles/http.umd.js',
        '@angular/router':                      'deps:@angular/router/bundles/router.umd.js',
        '@angular/forms':                       'deps:@angular/forms/bundles/forms.umd.js',
    };

    // packages tells the System loader how to load when no filename and/or no extension
    var packages = {
        'app':                        { main: 'main.js',  defaultExtension: 'js' },
        'rxjs':                       { defaultExtension: 'js' },
        'moment':                     { main: 'moment.js', defaultExtension: 'js' },
        'lodash':                     { main: 'index.js', defaultExtension: 'js' },
        'ng2-bootstrap':              { format: 'cjs', main: 'bundles/ng2-bootstrap.umd.js', defaultExtension: 'js' },
        'ng2-file-upload':            { main: 'ng2-file-upload.js', defaultExtension: 'js' }
    };

    var config = {
        paths: paths,
        map: map,
        packages: packages
    };

    System.config(config);

})(this);

这与我们拥有的其他Angular项目完全相同(并且它在那里工作) .

当我构建项目并加载它时,我在浏览器控制台中收到以下错误:

[path]/@angular/router/bundles/router.umd.js/src/url_tree 404 (Not Found)
ZoneAwareError
    Error: Error: XHR error (404 Not Found) loading [path]/@angular/router/bundles/router.umd.js/src/url_tree

我尝试过其他systemjs.config.js格式,比如this one,但我仍然收到错误 . 那个略有不同; 404在 traceur 上 .

我只是不确定错误来自何处或如何解决它 . 如果有人有任何想法或指示去哪,我会非常感激!

1 回答

  • 0

    所以我想出了在这个特殊情况下我的错误来自哪里 . 我不能说这总是问题,但这对我来说是个问题 .

    我有一个功能,检查当前路线,然后隐藏或显示菜单组件 . 该代码已过时,需要更新,但因为我没有更新,但它失败了,这就是404来自的地方 .

    违规导入是:

    import { containsTree } from '@angular/router/src/url_tree';
    

    我评论说,错误消失了 . 所以现在我可以继续并更新该代码 .

相关问题