我面临着非常严峻的问题,我希望有人可以帮助我!我已经在这里找到了很多关于同样问题的问题,但是我应用了找到的解决方案,但它仍然没有用!
所以我在Angular 2中有一个应用程序,我正在尝试集成ng2-select,并且它返回了无聊的错误:
angular2-polyfills.js:332错误:SyntaxError:意外的令牌<
我知道每个人都在说我的System.config有问题,但我无法解决它!
所以有我的代码!
System.config
System.config({
map: {
'ng2-bootstrap': 'node_modules/ng2-bootstrap',
'ng2-select': 'node_modules/ng2-select'
},
packages: {
src: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('src/main').then(null, console.error.bind(console));
main.ts
import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from "./components/app/app.component";
import 'ng2-select';
import 'ng2-bootstrap';
bootstrap(<any> AppComponent);
my Component
import {Component} from 'angular2/core';
import {select} from "ng2-select";
@Component({
templateUrl: 'src/views/lead/lists.view.html',
directives: [select],
})
export class LeadListsComponent {
team: string = "Ringo";
teams: string[] = ["John", "Paul", "George", "Ringo"];
}
I have the files on the node_modules/ng2-angular properly I think! There is the print
但是只有TS文件......可能是那个问题?我该怎么办?
----- ----- UPDATE
还有我的tsconfig.json!
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
提前致谢!
答案 0 :(得分:3)
如果你正在使用ng2-select
,那么事情已经发生了一些变化。您必须将systemjs配置更改为以下内容:
<强> systemjs.config.js 强>
map: {
...,
'ng2-select': 'node_modules/ng2-select',
...
},
packages: {
....,
'ng2-select': {main:'ng2-select.js', defaultExtension: 'js'}
}
在模块中添加以下导入语句
import { SelectModule } from "ng2-select/ng2-select";
然后将“SelectModule”添加到NgModule.imports数组。
现在在您的组件中添加以下import语句:
import { SelectComponent } from "ng2-select/ng2-select";
答案 1 :(得分:2)
我认为您的问题是当您执行导入时选择您的姓名是错误的:
在MyComponent
中你应该像这样把它拉进来:
import {Select} from "ng2-select";
选择中的S大写。通常当你得到:
angular2-polyfills.js:332错误:SyntaxError:意外的令牌&lt;
这意味着404错误,您的模块未正确加载。但是ng2选择导出Select
而不是select
。
您可能还需要这样做:
import {Select} from "ng2-select/select";
我不是100%确定npm如何将它加载到您的节点模块目录中,因为我没有使用它。
答案 2 :(得分:1)
对我有用的是以下
systemjs.config.js :中的
在地图内添加: - (void) layoutSubviews { //This method when auto layout engine finishes
}
在包内添加:'ng2-select': 'node_modules/ng2-select'
然后像这样导入:'ng2-select': {main:'ng2-select.js', defaultExtension: 'js'}
答案 3 :(得分:-1)
从&#39; ng2-select&#39;中导入{SELECT_DIRECTIVES};