Angular-cli + primeng 要求未定义
Angular-cli + primeng require is not defined
我正在使用 angular-cli@1.0.0-beta.14 (webpack) 和 primeng@1.0.0-beta.15。
创建一个新的 angular-cli 项目后,我做了一些更改以添加 primeng:
1 package.json:
"primeng": "^1.0.0-beta.15"
2 angular-cli.json:
"styles": [ "styles.css", "../node_modules/primeng/resources/themes/omega/theme.css", "../node_modules/font-awesome/css/font-awesome.min.css", "../node_modules/primeng/resources/primeng.min.css" ],
"scripts": [ "../node_modules/primeng/primeng.js" ]
3 app.module.ts:
@NgModule({ declarations: [ AppComponent ],
imports: [ BrowserModule, FormsModule, HttpModule, PanelModule ],
providers: [], bootstrap: [AppComponent] }) export class AppModule { }
问题:
Uncaught ReferenceError: require is not defined Unexpected value
'undefined' imported by the module 'AppModule'
将 primeng 添加到 angular-cli 的任何帮助...我们会很棒! :)
所以几乎你那里的一切看起来都不错。
问题在于您试图将 primeng 作为脚本标签包含在内(这是针对像 jQuery 这样的全局库的)。但是因为 primeng 部署了模块,你可以简单地将它导入你的模块,然后像这样将它提供给你的 NgModule:
import { ButtonModule } from 'primeng/components/button/button';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
ButtonModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
然后您还需要从 angular-cli.json
中删除对 primeng.js 的引用
我正在使用 angular-cli@1.0.0-beta.14 (webpack) 和 primeng@1.0.0-beta.15。
创建一个新的 angular-cli 项目后,我做了一些更改以添加 primeng:
1 package.json:
"primeng": "^1.0.0-beta.15"
2 angular-cli.json:
"styles": [ "styles.css", "../node_modules/primeng/resources/themes/omega/theme.css", "../node_modules/font-awesome/css/font-awesome.min.css", "../node_modules/primeng/resources/primeng.min.css" ],
"scripts": [ "../node_modules/primeng/primeng.js" ]
3 app.module.ts:
@NgModule({ declarations: [ AppComponent ],
imports: [ BrowserModule, FormsModule, HttpModule, PanelModule ],
providers: [], bootstrap: [AppComponent] }) export class AppModule { }
问题:
Uncaught ReferenceError: require is not defined Unexpected value 'undefined' imported by the module 'AppModule'
将 primeng 添加到 angular-cli 的任何帮助...我们会很棒! :)
所以几乎你那里的一切看起来都不错。
问题在于您试图将 primeng 作为脚本标签包含在内(这是针对像 jQuery 这样的全局库的)。但是因为 primeng 部署了模块,你可以简单地将它导入你的模块,然后像这样将它提供给你的 NgModule:
import { ButtonModule } from 'primeng/components/button/button';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
ButtonModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
然后您还需要从 angular-cli.json
中删除对 primeng.js 的引用