加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用systemjs导入位于应用程序文件夹外的共享服务,该应用程序位

发布时间:2020-12-17 10:23:49 所属栏目:安全 来源:网络整理
导读:我在以下结构中有两个角度2应用程序: /应用 / APP1 / APP2 /共享 在我的角度2组件(用typescript编写)中,我导入了几个模块(位于同一文件夹中),没有任何问题: 从’./test1.service’导入{TestService1}; 但是,当我尝试从共享文件夹导入某些内容时,它无法在运
我在以下结构中有两个角度2应用程序:

/应用
/ APP1
/ APP2
/共享

在我的角度2组件(用typescript编写)中,我导入了几个模块(位于同一文件夹中),没有任何问题:
从’./test1.service’导入{TestService1};

但是,当我尝试从共享文件夹导入某些内容时,它无法在运行时(浏览器)加载所需的模块.
从’../shared/test2.service’导入{TestService2};
浏览器说:http://something.something.darkside/app/test2.service 404(未找到).

我可以使用defaultJSExtensions设置为true,这将解决问题.但我想知道如何正确配置systemjs来处理这种情况.

systemjs.config.js

(function (global) {

    var ngPackageNames = [ bla,ng2packages... ];

    //ng2 apps
    var ngApps = [
        '/app/app1','/app/app2'
    ];

    var map = {
        '@angular': '/node_modules/@angular','rxjs': '/node_modules/rxjs'
    };

    var packages = {
        'rxjs': { defaultExtension: 'js' }
    };

    //adds package entries for each of the needed ng2 packages
    ngPackageNames.forEach(function (pkgName) {
        packages['@angular/' + pkgName] = System.packageWithIndex
            ? { main: 'index.js',defaultExtension: 'js' }
            : { main: '/bundles/' + pkgName + '.umd.js',defaultExtension: 'js' };
    });

    //adds map entries and package entries for the apps
    ngApps.forEach(function (app) {
        var appName = app.substring(app.lastIndexOf('/') + 1);
        map[appName] = app;
        packages[appName] = { main: appName + '.main.js',defaultExtension: 'js' };
    });

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

})(this);
包括地图对象的文件夹路径.
var map = {
    'shared' : 'app/shared','@angular': '/node_modules/@angular','rxjs': '/node_modules/rxjs'
};

添加包添加

var packages = {
    'rxjs': { defaultExtension: 'js' },'shared': { defaultExtension: 'js' }
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读