我正在尝试在我的Angular2项目中基于angular2-webpack-starter (https://github.com/AngularClass/angular2-webpack-starter)来配置PrimeNG。
我使用npm install安装了PrimeNG和PrimeUI,然后添加了必要的类型作为环境依赖:
"jquery": "github:DefinitelyTyped/DefinitelyTyped/jquery/jquery.d.ts#470954c4f427e0805a2d633636a7c6aa7170def8",
"jqueryui": "github:DefinitelyTyped/DefinitelyTyped/jqueryui/jqueryui.d.ts#a3a5cd5554dc2c0ff8955d1db0673879af3095bc",
"primeui": "github:primefaces/primeui/primeui.d.ts#7640bc59a3634e501634655217fdd413bed6d003",首先,我遇到了jquery类型的问题。它给了我以下错误:
Subsequent variable declarations must have the same type. Variable '$' must be of type 'cssSelectorHelper', but here has type 'JQueryStatic'.我通过在typings/browser/ambient/jquery/index.d.ts中注释掉以下几行代码解决了这个问题
declare module "jquery" {
export = $;
}
declare var $: JQueryStatic;现在,我正在尝试使用import "primeui/primeui-ng-all.min.js";命令在vendor.ts文件中导入primeui-ng-all.min.js。然而,我得到了以下错误:
Module not found: Error: Cannot resolve module 'jquery-ui' in .../angular2-webpack-starter/node_modules/primeui @ ./~/primeui/primeui-ng-all.min.js 8:23135-23167在angular2-webpack-starter中包含PrimeNG是正确的方式吗?我该如何解决这个问题?也许我应该如何导入PrimeNG需要的其他文件,比如样式表?
发布于 2016-04-12 19:03:23
这是一种short和fast入门方法(非npm),首先您需要从此处下载组件文件夹,然后将其添加到您的index.html add head
<link rel="stylesheet" type="text/css" href="prime/resources/primeui/themes/delta/theme.css"/>
<link rel="stylesheet" type="text/css" href="prime/resources/icons/css/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="prime/resources/css/prism.css"/>
<link rel="stylesheet" type="text/css" href="prime/resources/css/fullcalendar.css"/>
<link rel="stylesheet" type="text/css" href="prime/resources/css/quill.snow.css"/>
<link rel="stylesheet" type="text/css" href="prime/resources/primeui/primeui-ng-all.css"/>
<link rel="stylesheet" type="text/css" href="prime/resources/css/site.css"/>
<script src="prime/resources/primeui/primeui-ng-all.min.js"></script>
<script src="prime/resources/js/prism.js"></script>
<script src="prime/resources/js/charts.min.js"></script>
<script src="prime/resources/js/moment.js"></script>
<script src="prime/resources/js/fullcalendar.js"></script>
<script src="prime/resources/js/site.js"></script>
<script>
System.config({
transpiler: 'typescript',
typescriptOptions: { emitDecoratorMetadata: true },
packages: {'app': {defaultExtension: 'ts'},
'components': {defaultExtension: 'ts'}, //Your downloaded components folder here.
'prime/resources/js' : {defaultExtension: 'js'}
});
System.import('app/boot')
.then(null, console.error.bind(console));
</script>在配置应用程序之前检查路径。
发布于 2016-04-26 19:47:00
通过NPM手动安装JQuery UI并将其导入vendor.ts (在Prime之前)为我修复了它。
import 'jquery-ui/jquery-ui.js';https://stackoverflow.com/questions/36569434
复制相似问题