如何在使用systemjs.config.js时创建角度2构建文件夹 [英] How to create an angular 2 build folder when using systemjs.config.js

查看:377
本文介绍了如何在使用systemjs.config.js时创建角度2构建文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在使用systemjs.config.js时创建角度为2的构建文件夹



我的应用程序在本地运行良好。
我需要我的gulp文件帮助,以便我可以获取所需的节点模块并将它们移动到准备部署的dist文件夹。



这是my gulp folder:

  const gulp = require('gulp'); 
const ts = require('gulp-typescript');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
var htmlreplace = require('gulp-html-replace');
var addsrc = require('gulp-add-src');
var sass = require('gulp-sass');
var inject = require('gulp-inject');
var del = require('delete');
var minifyCss = require('gulp-minify-css');
var CacheBuster = require('gulp-cachebust');
var cachebust = new CacheBuster();

gulp.task('app-bundle',function(){
var tsProject = ts.createProject('tsconfig.json',{
typescript:require('typingcript '),
outFile:'app.js'
});

var tsResult = gulp.src([$ b $'node_modules / angular2 / typings / browser。 d.ts',
'typings / main / ambient / firebase / firebase.d.ts',
'app / ** / *。ts'
])
。 pipe(ts(tsProject));

return tsResult.js.pipe(addsrc.append('config-prod.js'))
.pipe(concat('app.min。 ('./ dist'));
});

$ b gulp.task('vendor-bundle',function(){
gulp.src([$ b $'node_modules / es6-shim / es6-shim.min.js' ,
'node_modules / systemjs / dist / system-polyfills.js',
'node_modules / angular2 / bundles / angular2-polyfills.js',
'node_modules / systemjs / dist / system。 src.js',
'node_modules / rxjs / bundles / Rx.js',
'node_modules / angular2 / bundles / angular2.dev.js',
'node_modules / angular2 / bundles / http.dev.js'
])
.pipe(concat('vendors.min.js'))
.pipe(uglify())
.pipe(gulp。 dest('./ dist'));
});
$ b gulp.task('add-styles',function(){
gulp.src([
'css / animate.css',
'css / bootstraptheme.css',
'sass / styles.scss'
])
.pipe(sass()。on('error',sass.logError))
.pipe (concat('styles.min.css'))
.pipe(minifyCss({compatibility:'ie8'}))
.pipe(cachebust.resources())
.pipe gulp.dest('dist /'))
});
$ b gulp.task('add-images',function(){
gulp.src([
'images / *。png'
])
.pipe(gulp.dest('dist / images'))
});
$ b gulp.task('add-bits',function(){
gulp.src([
'favicon *。*',
'sitemap.xml ',
'robots.txt',
'firebase.json'
])
.pipe(gulp.dest('dist /'))
}) ;
$ b $ gulp.task('html-replace',['app-bundle','vendor-bundle','add-styles','add-images','add-bits'], (){
'vendor':'vendors.min.js',
'app() ':'app.min.js'
}))
.pipe(gulp.dest('dist'));
});

这是当前dist文件夹的屏幕截图,可供现场部署。但缺少所需的节点模块:





这是我的配置文件:

 (function(global){

// map告诉System loader在哪里寻找东西
var map = {$ b $'app':'app',
'rxjs':'node_modules / rxjs' ,
'angular2-in-memory-web-api':'node_modules / angular2-in-memory-web-api',
'@angular':'node_modules / @ angular'
};

// package告诉系统加载器当没有文件名和/或没有扩展名时如何加载
var packages = {
'app':{main:'boot。 js',defaultExtension:'js'},
'rxjs':{defaultExtension:' js'},
'angular2-in-memory-web-api':{defaultExtension:'js'},
'angular2-google-maps':{defaultExtension:'js'}
};

var packageNames = [
'@ angular / common',
'@ angular / compiler',
'@ angular / core',
' @ angular / http',
'@ angular / platform-b​​rowser',
'@ angular / platform-b​​rowser-dynamic',
'@ angular / router',
' @ angular / router-deprecated',
'@ angular / testing',
'@ angular / upgrade',
];

//以'@ angular / common'的形式为角包添加包条目:{main:'index.js',defaultExtension:'js'}
packageNames.forEach(function (pkgName){
packages [pkgName] = {main:'index.js',defaultExtension:'js'};
});

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

// filterSystemConfig - index.html修改的机会配置之前我们注册它。
if(global.filterSystemConfig){global.filterSystemConfig(config); }

System.config(config);

})(this);

这些是我认为缺少的节点模块,需要添加到dist文件夹和链接to dist folders index.html

  var packageNames = [
'@ angular / common',
'@ angular / compiler',
'@ angular / core',
'@ angular / http',
'@ angular / platform-b​​rowser',
' @角度/平台浏览器动态',
'@ angular / router',
'@ angular / router-deprecated',
'@ angular / testing',
' @ angular / upgrade',
];

这是我的索引文件:

 < html lang =enprefix =og:http://ogp.me/ns#xml:lang =enxmlns = http://www.w3.org/1999/xhtml\"> 
< head>
< title> App< / title>
< base href =/>< / base>

<! - Css libs - >
< link rel =stylesheettype =text / csshref =/ css / animate.css/>
< link rel =stylesheettype =text / csshref =/ css / bootstraptheme.css/>
< link href ='https://fonts.googleapis.com/css?family = Lato:400,100,100italic,300italic,300,400italic,700italic,900,700,900italic'rel ='stylesheet'type ='text / css >
< link rel =stylesheethref =https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css>

<! - build:css - >
< link rel =stylesheethref =css / styles.css>
<! - endbuild - >

<! - Js libs - >
< script src =https://www.amcharts.com/lib/3/amcharts.js>< / script>
< script src =https://www.amcharts.com/lib/3/pie.js>< / script>
< script src =https://www.amcharts.com/lib/3/themes/light.js>< / script>
< script type =text / javascriptsrc =https://cdn.jsdelivr.net/lodash/4.11.2/lodash.min.js>< / script>
< script type =text / javascriptsrc =// ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js\"></script>
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆