我在Angular2项目中使用SystemJS.我为TypeScript使用tsconfig文件.我想使用gulp来连接和缩小我的生产版代码.我在解决代码方面遇到了问题:每次尝试连接文件时都会得到"angular"未定义或"system"未定义.我试图修改我尝试从节点模块加载文件的顺序,但是我没有成功.
我想知道你们是否有这个问题,并找到答案吗?
这是我的gulp文件:
var gulp = require('gulp'),
.....
var paths = {
dist: 'dist',
vendor: {
js: [
'node_modules/systemjs/dist/system.src.js',
'node_modules/angular2/bundles/angular2.dev.js',
'node_modules/angular2/bundles/angular2-polyfills.js',
'node_modules/angular2/bundles/router.dev.js'
...
],
css: []
},
app: {
templates: [
'app/**/*.html',
'!node_modules/*.html'
],
scripts: [
'app/**/*.ts',
'app/config.ts',
'app/app.ts'
]
}
};
var tsProject = ts.createProject('tsconfig.json', {
out: 'Whatever.js'
});
gulp.task('dev:build:templates', function () {
return gulp.src(paths.app.templates)
.pipe(ngHtml2Js({
moduleName: 'Whatever',
declareModule: false
}))
.pipe(concat("Whatever.tpls.min.js"))
.pipe(gulp.dest(paths.dist));
});
gulp.task('prod:build:templates', function () {
return gulp.src(paths.app.templates)
.pipe(minifyHtml({
empty: true,
spare: true,
quotes: true
}))
.pipe(ngHtml2Js({ …Run Code Online (Sandbox Code Playgroud) 我正在使用Angular2和ASP.NET5,gulp和typescript.当我解决Angular的教程时,一切正常,但我不确定如何与ASP.NET 5一起设置该过程.
我创建了一个带有工作打字稿编译和捆绑的项目,现在问题就出现了:
当我将tsConfig文件添加到项目的根目录时,visual studio无法识别该文件.当我把它放到wwwroot/scripts时,一切都很好(非常奇怪).
Angular2不再支持DefinityTyped,文件为空并包含我必须安装npm包的提示.我做到了,但文件太多了.我必须包含哪些类型定义?他们都没有工作.我总是得到它找不到angular2/angular2的错误.
这很奇怪.当我使用commonjs作为打字稿时,编译工作.我真的很困惑,因为我不明白包含是如何工作的.Resharper显示了很多错误,但是当我暂时禁用它时.
Angular2 NPM包还包含脚本文件.但由于它们在外面,我无法直接引用它们.我找不到带有脚本的bower包,让包裹两次也没有意义.
我会对如何使用asp.net 5设置angular2的教程或一些最佳实践感到高兴.
顺便说一下:有很多包管理器:NPM,NuGet,gulp,tsd ......
首先,我想描述一下我的设置:
我有一个Web服务,让我们称之为"汽车",用Java编写,我在eclipse中用tomcat v6测试,在本地工作(这是一个要求,所以一旦它在本地工作,我可以切换到用它做"真正的"tomcat服务器,以便其他人可以访问).它工作,它访问数据库,它提供某些URI的答案,等等.
我已经在Plunker中编写了一个角度2应用程序,"WebCar",我现在想在我的计算机上运行它,使用Tomcat服务器(除非有更好的方法,我已被告知使用Tomcat执行此操作由于我不知道任何更好的选择,这就是我一直在谈论tomcat的原因.使用eclipse,我已经设法让应用程序运行,使用palantir插件进行打字稿https://marketplace.eclipse.org/content/typescript,然后使用包含的server-launch.js运行项目require('lite-server');,这允许我看到我在plunker上看到的相同,所以,它有效,但在我上传任何东西到业务服务器之前我想检查一切正常(因此设置,这可能没有必要,但这是我想出的).
我现在想更进一步,如果可能的话,使用tomcat v6运行我的angular 2应用程序,而不是简单地使用该lite服务器,以便我可以测试它是否有效,然后将其上传到"真实",远程服务器.
我想知道有什么选项,什么是更好的选择,以及正确进行角度2部署所需的任何东西.到目前为止,我发现了这一点
/sf/answers/2408594681/ "你只需部署.js文件,因为无论如何浏览器赢了; t"我没有完全得到,
http://jspm.io/用于SystemJS(我有一个较旧版本的Angular 2并使用config.js)
/sf/answers/2629776481/讨论了angular-cli或webpack,这是一个捆绑但如果我运行了,我仍然不知道如何处理它上传到Tomcat然后将它连接到我的Web服务.
所以也许问题应该是(我不确定):一旦你将你的角度2代码捆绑在一起,下一步是什么?
关于stackOverflow还有一些其他问题,与此类似,但据我所见,没有任何答案或只有与此倾斜相关的答案(当然,没有任何类似指南或一步一步的要求)
我使用npm开发了一个Angular 2应用程序.作为一个更新鲜的,我不知道下面的一些方法.当我发布时,我使用npm publish它以便在网络中的npm帐户中发布应用程序.那么,有没有办法在localhost中发布我们的应用程序,因为我不想使用npm帐户,我只需要在发布时避免使用node_modules文件夹?如果有任何其他方式,可以用来在npm以外的本地发布Angular2应用程序,请告诉我.我试试.
如果没有npm网络帐号就无法发布申请,请告诉我.借口错误,如果有的话.感谢adv :)
angular ×4
gulp ×2
asp.net ×1
deployment ×1
eclipse ×1
npm ×1
systemjs ×1
tomcat ×1
typescript ×1