- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试让我的 Angular2 应用程序使用 ng2-material组件,但在正确配置 SystemJS 时遇到问题。当我运行应用程序时,Chrome 的控制台会给我:
GET http://localhost:12630/ng2-material/all 404 (Not Found)
和
angular2-polyfills.js:332 Error: Error: XHR error (404 Not Found) loading http://localhost:12630/ng2-material/all
at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:12630/node_modules/angular2/bundles/angular2-polyfills.js:771:30)
at ZoneDelegate.invokeTask (http://localhost:12630/node_modules/angular2/bundles/angular2-polyfills.js:365:38)
at Zone.runTask (http://localhost:12630/node_modules/angular2/bundles/angular2-polyfills.js:263:48)
at XMLHttpRequest.ZoneTask.invoke (http://localhost:12630/node_modules/angular2/bundles/angular2-polyfills.js:431:34)
Error loading http://localhost:12630/ng2-material/all as "ng2-material/all" from http://localhost:12630/app/app.component.js
应用程序运行良好,但当我尝试引用 ng2-material 模块中的任何内容时,我开始收到这些错误。这是代码:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Testing</title>
<script src="node_modules/es6-shim/es6-shim.min.js"></script>
<script src="node_modules/systemjs/dist/system-polyfills.js"></script>
<script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.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>
<!-- 2. Configure SystemJS -->
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/main')
.then(null, console.error.bind(console));
</script>
</head>
<body>
<hud>Loading...</hud>
</body>
</html>
主要.ts
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';
bootstrap(AppComponent);
应用程序组件.ts
import {Component} from 'angular2/core';
import {MATERIAL_DIRECTIVES} from 'ng2-material/all';
@Component({
selector: 'hud',
template: `
<button md-raised-button class="md-raised md-primary">Primary</button>
`
directives: [MATERIAL_DIRECTIVES] //uncomment this line to get it to work
})
export class AppComponent {
}
线
import {MATERIAL_DIRECTIVES} from 'ng2-material/all';
在“ng2-material/all”部分下没有红色波浪线,所以我知道 TypeScript 能够找到该部分,但是在使用 MATERIAL_DIRECTIVES 时,我收到错误消息。我假设这是 SystemJS 配置方式的问题。这是我的文件结构:
Root:
|-app
|----app.component.ts
|----main.ts
|-Scripts
|----[some nuGet package stuff]
|-node_modules
|----[all npm packages: ng2-material is located in here]
|-index.html
|-package.json
|-tsconfig.json
编辑:
包.json
{
"version": "1.0.0",
"name": "ASP.NET",
"private": true,
"devDependencies": {
"angular2": "2.0.0-beta.12",
"systemjs": "0.19.24",
"es6-promise": "^3.1.2",
"es6-shim": "^0.35.0",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.2",
"zone.js": "^0.6.6",
"ng2-material": "0.3.4"
}
}
最佳答案
您需要以这种方式在您的 SystemJS 配置中配置 ng2-material:
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
},
'ng2-material': {
format: 'register',
defaultExtension: 'js'
}
},
map: {
'ng2-material': 'node_modules/ng2-material/source'
}
});
(...)
</script>
关于typescript - 在 Visual Studio 2015 中使用 Angular 2 配置 SystemJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314254/
当我使用以下命令设置 jspm 安装时: jspm init 然后它只询问我初始配置: Would you like jspm to prefix the jspm package.json prop
我正在使用标准的 ngUpgrade 模块将 AngularJS 应用程序升级到 Angular。我已将服务转换为 Angular,我需要将其降级以便在现有的 AngularJS 模块中使用它。我正在
我正在 SystemJS+Typescript 环境中运行 Jasmine 测试(基本上 a plunk 这应该是 Angular 2 测试平台)。 Jasmine 有意用作全局库,而不是通过 Typ
我有一个没有安装 systemJS 的项目。 这是 package.json: { "name": "mytest", "version": "0.1.0", "private": tru
我使用 SystemJS 作为模块系统来编译 TypeScript 文件,但每当我在浏览器中加载页面时(通过 live-server ),我都会收到以下错误: ReferenceError: Sens
我正在尝试将我的应用程序与 webpack 捆绑在一起,然后将其包含在带有 SystemJS 的父应用程序中,我有点迷失了。 我已经创建了我的包,我已经尝试将它转换为 commonjs/umd/amd
我无法让 systemjs 工作,所以它解析节点模块。 我的 index.html 中有以下内容: System.import('blast/test') .the
我正在尝试遵循 Angular 2 设置指南,但遇到了问题。我正在使用 browsersync,我似乎无法弄清楚如何让这段代码工作。 ....... System.import('./a
有没有办法等到所有 System.register(从 ES6 转译而来)都被解析和加载? 这对于 e2e testing in Angular 特别有用和其他小东西。 最佳答案 System.imp
我有一个非常基本的 config.js文件按预期工作,只要它部署在根 URL 下。这是样本 config.js文件: System.config({ //use typescript for co
我想导入 Angular,实例化 AngularJS 模块,然后导入另一个需要实例化 Angular 的文件: import angular from 'angular'; var app = ang
在尝试让 Angular (1.x) 与 systemjs 一起工作时,我意识到目前没有能力(据我所知)自动将 $inject 插入到 Angular 组件中,这使得即使函数的参数被缩小器破坏,组件也
我正在使用 jspm 和 SystemJS 导入 ES2015 模块。 是否可以通过 System 对象或其他任何地方获取项目中所有导入模块的列表?我可以通过 System._loader.modul
我正在使用 JSPM、AngularJS、TypeScript、SystemJS 和 ES6 并且我的项目运行得很好......除非我尝试使用 momentJS。 这是我得到的错误: TypeErro
有人可以告诉我如何使用 SystemJS 将简单的 javascript 文件加载到浏览器中。 我正在尝试使用以下语法从我的node_modules文件夹加载jquery: packages: {
我在使用 systemjs-builder 构建我的应用程序时遇到问题。 这是我的应用程序的结构。 这是要构建的函数: var systemjsBuild = { map: {
有人让 SystemJS 和 SignalR 一起工作吗?我一直在尝试使用 SystemJS(来自 jspm)加载 SignalR,但无论我做什么,异步加载器总是存在竞争条件。大约一半的加载时间,Si
我正在使用 Angular2,并且我想包含 jQuery。 systemjs.config.js (function (global) { System.config({ paths: { '
我在所有项目中都使用 SystemJs 和 JSPM,感觉太棒了。使用前端库变得前所未有的简单,使用 JSPM 我可以通过几个简单的步骤来完成: 命令行:jspm 安装角度 index.ts|js:i
我无法使用 SystemJS (0.19.47) 正确加载 RxJS 基本上我有一些 TypeScript…… import {BehaviorSubject} from "rxjs"; let s
我是一名优秀的程序员,十分优秀!