【发布时间】:2016-08-13 10:55:12
【问题描述】:
我有 angularjs2 应用程序。 我想添加新库。我已经安装了库,所以现在我有了:
node_modules/angular2-token - 一些文件
"angular2-token": "0.0.3" - 在 package.json 中
如何添加 Angular2TokenService 来使用它? 在 app.component.ts 我尝试添加:
import {Angular2TokenService} from 'node_modules/angular2-token/angular2-token.js';
或
import {Angular2TokenService} from 'angular2-token';
添加到组件提供者:[Angular2TokenService]
和构造函数
constructor(private _tokenService: Angular2TokenService) {
this._tokenService.init({
apiPath: '',
signInPath: 'auth/sign_in',
signOutPath: 'auth/sign_out',
validateTokenPath: 'auth/validate_token',
updatePasswordPath: 'auth/password',
userTypes: null
});
}
我忘了添加什么?
更新 包.json:
{
"name": "aspnet",
"version": "0.0.0",
"scripts": {
"start": "concurrently \"npm run tsc:w\" \"npm run lite\" ",
"tsc": "tsc",
"tsc:w": "tsc -w",
"lint": "tslint ./app/**/*.ts -t verbose",
"lite": "lite-server",
"typings": "typings",
"postinstall": "typings install"
},
"license": "ISC",
"devDependencies": {
"typings": "0.8.1",
"concurrently": "^2.0.0",
"lite-server": "^2.2.0",
"tslint": "^3.7.4",
"typescript": "^1.8.10"
},
"dependencies": {
"@angular/common": "2.0.0-rc.1",
"@angular/compiler": "2.0.0-rc.1",
"@angular/core": "2.0.0-rc.1",
"@angular/http": "2.0.0-rc.1",
"@angular/platform-browser": "2.0.0-rc.1",
"@angular/platform-browser-dynamic": "2.0.0-rc.1",
"@angular/router": "2.0.0-rc.1",
"@angular/router-deprecated": "2.0.0-rc.1",
"@angular/upgrade": "2.0.0-rc.1",
"angular2-in-memory-web-api": "0.0.9",
"angular2-token": "0.0.3",
"bootstrap": "^3.3.6",
"core-js": "^2.4.0",
"es6-shim": "^0.35.0",
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"systemjs": "0.19.27",
"zone.js": "^0.6.12"
},
"repository": {}
}
systemjs.config.js(但我找不到包含它的位置):
(function(global) {
// map tells the System loader where to look for things
var map = {
'app': 'app', // 'dist',
'rxjs': 'node_modules/rxjs',
'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
'@angular': 'node_modules/@angular'
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { main: 'boottodolist.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
'angular2-in-memory-web-api': { defaultExtension: 'js' },
};
var packageNames = [
'@angular/common',
'@angular/compiler',
'@angular/core',
'@angular/http',
'@angular/platform-browser',
'@angular/platform-browser-dynamic',
'@angular/router',
'@angular/router-deprecated',
'@angular/testing',
'@angular/upgrade',
];
// add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' }
packageNames.forEach(function(pkgName) {
packages[pkgName] = { main: 'index.js', defaultExtension: 'js' };
});
var config = {
map: map,
packages: packages
}
System.config(config);
})(this);
在 index.html 我有这部分:
System.config({
map:{
'angular2-token': 'node_modules/angular2-token/angular2-token.js'
},
packages: {
app: {
defaultExtension: 'js'
}
}
});
错误:
http://localhost:56597/node_modules/angular2-token/src/angular2-token.service 404(未找到)
【问题讨论】:
-
您使用的是哪个 angular2 版本?你也可以分享你的 package.json 和 systemjs.config.js 文件吗?
-
Missing here // packages 告诉系统加载器在没有文件名和/或没有扩展名时如何加载 var packages = { 'app': { main: 'boottodolist.js', defaultExtension: 'js' }, 'rxjs': { defaultExtension: 'js' }, 'angular2-in-memory-web-api': { defaultExtension: 'js' }, };
-
我不明白我应该添加什么。我添加了 'angular2-token': 'node_modules/angular2-token', 映射和 'angular2-token': { main: 'angular2-token.js', defaultExtension: 'js' }, 到包
-
更新系统配置js
标签: node.js angular ecmascript-6