PrimeNG с Angular2-webpack-стартером
Я пытаюсь настроить PrimeNG в своем проекте Angular2 на основе angular2-webpack-starter ( https://github.com/AngularClass/angular2-webpack-starter).
Я установил PrimeNG и PrimeUI, используя npm install, а затем добавил необходимые типизации в качестве зависимостей окружения:
"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;
Сейчас я пытаюсь импортировать primeui-ng-all.min.js
в vendor.ts
использование файла import "primeui/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
Правильный ли способ включения PrimeNG в angular2-webpack-starter? Как мне решить эту проблему? А может, как мне импортировать другие файлы, необходимые PrimeNG, например, таблицы стилей?
2 ответа
Это короткий и быстрый способ начать работу (не npm), сначала вам нужно скачать отсюда папки с компонентами https://github.com/primefaces/primeng затем добавить это в свой 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>
Проверьте пути перед настройкой приложения.
Вручную установив пользовательский интерфейс JQuery через NPM и импортировав его в vendor.ts (до Prime).
import 'jquery-ui/jquery-ui.js';