我正在部署一个网站,但由于我使用的是Angular的最终版本,因此我无法"捆绑"rxjs.我只能通过复制我网站上的整个文件夹node_modules/rxjs来部署rxjs .
这是我对SystemJS的配置
System.config({
map: {
'lodash':'http://127.0.0.1/js/lodash.min.js',
'@angular/core': 'http://127.0.0.1/js/core.umd.min.js',
'@angular/compiler': 'http://127.0.0.1/js/compiler.umd.min.js',
'@angular/common': 'http://127.0.0.1/js/common.umd.min.js',
'@angular/http': 'http://127.0.0.1/js/http.umd.min.js',
'@angular/platform-browser': 'http://127.0.0.1/js/platform-browser.umd.min.js',
'@angular/platform-browser-dynamic': 'http://127.0.0.1/js/platform-browser-dynamic.umd.min.js',
'@angular/router': 'http://127.0.0.1/js/router.umd.min.js',
'@angular/forms': 'http://127.0.0.1/js/forms.umd.min.js',
'@angular/upgrade': 'http://127.0.0.1/js/upgrade/bundles/upgrade.umd.js',
'rxjs':'http://127.0.0.1/js/vendors.bundle.js'
},
packages: {
'/js': {
defaultExtension: 'js'
}
},
bundles: {
'/js/app.bundle': ['main']
}
});
document.addEventListener('DOMContentLoaded', function () {
System.import('main').then(null, console.error.bind(console));
});
Run Code Online (Sandbox Code Playgroud)
我使用以下Gulp脚本在vendors.bundle.js中包含rxjs :
gulp.task('vendor.bundle', function() {
gulp.src([
'node_modules/systemjs/dist/system-polyfills.js',
'node_modules/zone.js/dist/zone.min.js',
'node_modules/reflect-metadata/Reflect.js',
'node_modules/systemjs/dist/system.src.js',
'node_modules/rxjs/bundles/Rx.min.js'
])
.pipe(concat('vendors.bundle.js'))
//.pipe(uglify())
.pipe(gulp.dest('./dist/js'));
});
Run Code Online (Sandbox Code Playgroud)
我有以下错误:
VM9314:3GET http://127.0.0.1/js/vendors.bundle.js/add/operator/map.js 404(未找到)...加载http://127.0.0.1/js/vendors.bundle时出错. js/add/operator/map.js为"rxjs/add/operator/map",来自http://127.0.0.1/services/global-services/global.services
这是一个问题,因为当我们部署整个文件夹时,会产生大量请求以获取所有rxjs/*.js文件并且意味着主要在移动设备上表现不佳.
当我只部署 …