【问题标题】:Angular2 node_module rxjs 404 errorAngular2 node_module rxjs 404错误
【发布时间】:2016-11-05 14:40:26
【问题描述】:

我正在尝试编译 angular2 应用程序,但出现以下错误:

错误:XHR 错误(404 Not Found)正在加载 http://localhost:3000/node_modules/rxjs(...)

systemjs.config.js

(function(global) {
    // map tells the System loader where to look for things
    var map = {
        'app': 'app', // 'dist',
        '@angular': 'node_modules/@angular',
        'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
        'rxjs': 'node_modules/rxjs'
    };

    // 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'
        },
        'angular2-in-memory-web-api': {
            main: 'index.js',
            defaultExtension: 'js'
        },
    };
    var ngPackageNames = [
        'common',
        'compiler',
        'core',
        'forms',
        'http',
        'platform-browser',
        'platform-browser-dynamic',
        'router',
        'router-deprecated',
        'upgrade',
    ];

    // Individual files (~300 requests):
    function packIndex(pkgName) {
        packages['@angular/' + pkgName] = {
            main: 'index.js',
            defaultExtension: 'js'
        };
    }

    // Bundled (~40 requests):
    function packUmd(pkgName) {
        packages['@angular/' + pkgName] = {
            main: '/bundles/' + pkgName + '.umd.js',
            defaultExtension: 'js'
        };
    }

    // Most environments should use UMD; some (Karma) need the individual index files
    var setPackageConfig = System.packageWithIndex ? packIndex : packUmd;

    // Add package entries for angular packages
    ngPackageNames.forEach(setPackageConfig);

    var config = {
        map: map,
        packages: packages
    };
    System.config(config);

})(this);

app文件夹包含:main.tsYouTubeSearchComponent.ts

什么可能导致这个问题?

【问题讨论】:

    标签: javascript angular systemjs


    【解决方案1】:

    将包中的 rxjs 条目更改为:

    'rxjs': {
        main: '/bundles/Rx.umd.js',
        defaultExtension: 'js'
    }
    

    【讨论】:

    • 谢谢!这个编译没有错误,为什么我应该设置邮件指令?请给我解释一下
    • 这是主配置,告诉systemjs要拾取的主文件。检查 node_modules/rxjs 你会发现 bundles/Rx.umd.js
    • 你是正确的Siraj,也需要为rxjs指定文件名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    相关资源
    最近更新 更多