我有一个在localhost下运行良好的应用程序.
我今天尝试将它作为子应用程序放在IIS服务器上.所以新路径将是localhost/SubDir.
System.js到处试图加载模块.我设置了basePath并使用路径/地图配置变量播放了几个小时,但无法登陆魔术设置.
有没有人有我想要调整的想法,或任何有助于调试的东西?
索引HTML
<html>
<head>
<script src="~/node_modules/es6-shim/es6-shim.js"></script>
<script src="~/node_modules/systemjs/dist/system.src.js"></script>
<script src="~/node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="~/node_modules/angular2/bundles/http.dev.js"></script>
<script src="~/node_modules/angular2/bundles/router.dev.js"></script>
<link href="~/node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link href="~/assets/css/site.css" rel="stylesheet" />
<script>
System.config({
packages: { 'app': { defaultExtension: 'js' } },
baseURL: '/MedicheckAngular/',
paths: {
//'angular2/*': 'node_modules/angular2/ts/*.js' …Run Code Online (Sandbox Code Playgroud)我目前正在使用带有System JS Builder的System JS来捆绑我的应用程序,它的资产以及它引用的库.我的问题是我可以捆绑在index.html中明确引用的库,例如:
<script src="node_modules/es6-shim/es6-shim.min.js"></script>
<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/reflect-metadata/Reflect.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何捆绑Angular 2本身,或者至少是Angular 2所需的模块,因为它们实际上并未在HTML中引用.如何才能做到这一点?
我正在尝试使用typescript中的momentJs:取决于我用来编译typescript的模块系统,我发现了一个不同的行为,我可以使用momentJs.使用commonJs编译typescript时,一切都按预期工作,我可以按照momentJs文档:
import moment = require("moment");
moment(new Date()); //this works
Run Code Online (Sandbox Code Playgroud)
如果我在导入"时刻"时使用"system"作为打字稿模块系统,我不得不这样做
import moment = require("moment");
moment.default(new Date()); //this works
moment(new Date()); //this doesn't work
Run Code Online (Sandbox Code Playgroud)
我发现了一种解决方法,无论使用哪种打字稿模块系统,它们都能正常工作
import m = require("moment")
var moment : moment.MomentStatic;
moment = (m as any).default || m;
Run Code Online (Sandbox Code Playgroud)
我不喜欢这个,我想理解为什么它会像这样.难道我做错了什么?谁能解释一下我发生了什么?
我正在使用Angular2和TypeScript组合一个应用程序(大规模).它需要分成许多项目,每个项目都有许多组件,每个组件都有一个.html视图,.css样式表和.ts逻辑/类.
我希望每个项目都能编译成一个*.js文件并复制到一个将在IIS中运行的主机网站.这类似于构建WPF或Silverlight应用程序的方式,.xaml所有文件都被编译到.dll.
我已经浏览了一下网页,并且能够使用该选项将.ts文件构建到单个.js文件中--outFile.但这对我的.html文件或文件没有帮助css.
任何帮助都将非常感激,即使它是说我要求的是不可能的:-)
斯蒂芬
我们正在开发一个有助于在AWS Lambda中部署和维护代码的项目/框架.我想构建/捆绑lambda函数的所有node.js代码到一个js文件中,因为:
我们不想创建自定义捆绑器来执行此操作,因为已经存在许多选项(systemjs,browserify,webpack等).然而,我们担心某些节点模块与捆绑器/构建器不兼容的问题.
特别aws-sdk是webpack存在已知问题,说它有浏览器支持,但我已经和浏览过aws-sdk问题的人交谈了
我们想选择一个现有的捆绑器(或2),但我们希望确保它适用于尽可能多的模块/代码.我们正在尝试为JAWS创建一个插件生态系统,所以要做到这一点非常重要(不要因为模块X使用它们而不能捆绑人员).
问题:
我在理解如何从TypeScript中的模块导入类时遇到一些麻烦,特别是对于使用TypeScript 1.7的Visual Studio 2015(更新1)中的Angular 2.
在Angular 2文档中,我看到了导入语句,例如:
import {Component} from 'angular2/core';.这些文件在node_modules/angular2/*.什么使得angular2/*工作?
当我从app目录获得相对路径时,我只能摆脱Visual Studio中的错误,如:./../node_modules/angular2/platform/browser';.这修复了Visual Studio构建错误,但是当我尝试运行应用程序时,System.import('app/boot')我得到了一堆这样的错误:
system.src.js:1049 GET http:// localhost:8080/node_modules/angular2/platform/browser 404(Not Found)
另一个问题是能够import {SearchComponent} from './Components/Search/search.component';在Visual Studio中使用如下语句:但是当我运行它时,会出现很多GET错误system.src.js:2476.
我认为设置defaultExtension: 'js'for System.config应该已经解决了这个问题.
更新 以下是我认为相关的所有文件:
意见/家庭/ index.html的
<script src="node_modules/es6-shim/es6-shim.js"></script>
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/app')
.then(null, console.error.bind(console));
Run Code Online (Sandbox Code Playgroud)
test.csproj
<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion>
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
<TypeScriptModuleResolution>Node</TypeScriptModuleResolution>
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptJSXEmit>None</TypeScriptJSXEmit>
<TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled> …Run Code Online (Sandbox Code Playgroud) 我们正在开始一个新的Angular2 SPA,我正在研究是否使用Angular快速入门教程(https://angular.io/guide/quickstart)或Webpack(https://angular.io/docs/ts)中所述的SystemJS /latest/guide/webpack.html).
在线研究,人们似乎正在从SystemJS转向Webpack.例如,Google的"Angular CLI"项目:http://react-etc.net/entry/angular-2-cli-moves-from-systemjs-to-webpack
Webpack不仅处理模块,还提供了打包应用程序的方法(concat文件,minify/uglify文件,......).新版本还提供"树摇动"(从最终版本中删除死/未使用的模块).
使用SystemJS,我们仍然需要使用gulp(或其他东西)来构建应用程序.
如果您开始使用新的Angular 2应用程序,您会使用哪一个?
我为Angular 2创建了一个服务:
import {Injectable} from "angular2/core";
import {Http} from "angular2/http";
import {TaskModel} from "./tasks.model"
@Injectable()
export class TasksDataService {
tasks:Array<any>;
constructor(http:Http) {
this.tasks = [
new TaskModel("Dishes"),
new TaskModel("Cleaning the garage"),
new TaskModel("Mow the grass")
];
}
getTasks():Array<any> {
return this.tasks;
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的程序时,浏览器会显示:
system.src.js:1049 GET http://localhost:3000/angular2/http.js 404 (Not Found)
我查找了教程,它们以相同的方式包含angular2/http.有谁看到出了什么问题?
假设我有一个这样的UMD模块(保存在'js/mymodule.js'中):
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.mymodule = global.mymodule || {})));
}(this, function (exports) { 'use strict';
function myFunction() {
console.log('hello world');
}
}));
Run Code Online (Sandbox Code Playgroud)
如何在这样的HTML文件中使用此模块?(没有requirejs,commonjs,systemjs等......)
<!doctype html>
<html>
<head>
<title>Using MyModule</title>
<script src="js/mymodule.js"></script>
</head>
<body>
<script>
/* HOW TO USE myFunction from mymodule.js ??? */
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助.
我真的迷失了这个.当我加载我的Angular2应用程序时,我有大约200个请求到我的服务器下的非现有文件node_modules/systemjs.以下是这些请求的示例:
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/Subject.js.map HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/Observable.js.map HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/root.js.map HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/toSubscriber.js.map HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/Subscriber.js.map HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/isFunction.js.map HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/Subscription.js.map HTTP/1.1" 404 -
127.0.0.1 - - [13/Sep/2016 13:00:06] "GET /node_modules/systemjs/dist/isArray.js.map …Run Code Online (Sandbox Code Playgroud) systemjs ×10
angular ×7
javascript ×3
typescript ×3
commonjs ×2
webpack ×2
aws-lambda ×1
browserify ×1
html ×1
momentjs ×1
requirejs ×1