PrimeNG (也称PrimeUI) + Webpack + Angular2 + TypeScript

6
这里有没有人知道如何在Webpack下使用PrimeNG?
我们的项目使用angular2-webpack-starter,但是PrimeNG只适用于System.js加载器。
我明白PrimeNG的加载过程,但我无法成功地使用PrimeUI库...例如文件primeng/components/togglebutton/togglebutton.ts

错误 TS2503:找不到名称空间“PrimeUI”。

我甚至尝试了在...togglebutton.ts中声明的魔法公式
declare var PrimeUI:any;

在我的 webpack.config

plugins: [ 
  new webpack.ProvidePlugin({
    PrimeUI: 'primeui',
  })
  .
  .
 ],

但是如果我尝试这样做

import * as PrimeUI from 'primeui';

错误 TS2307: 找不到模块“primeui”。

我刚刚提醒过自己已经执行了npm install primeui,并且primeui与所有依赖项一起出现在node_modules中。


我们很可能很快会转换到common.js,并提供一个webpack的快速入门示例。PrimeUI的d.ts在https://github.com/primefaces/primeng/blob/master/showcase/resources/primeui/primeui.d.ts。 - Cagatay Civici
PrimeNG在0.6.0版本中使用了commonjs。 - Cagatay Civici
你已经成功运行PrimeNG了吗?我已经成功加载了PrimeNG和PrimeUI,但是我遇到了JQuery错误。 - sigi
我放弃尝试了。现在我只使用基于Bootstrap的jQuery DataTable和Select2。 - m1uan
1
这里有一个 PrimeNG+WebPack 的示例。https://github.com/primefaces/primeng-quickstart-webpack - Cagatay Civici
这是一个基于angular2-webpack-starter的分支,它添加了PrimeNG用于UI。https://github.com/cagataycivici/angular2-webpack-starter - Cagatay Civici
1个回答

1

If you are getting error on :

import * as PrimeUI from 'primeui';

你需要做的是:

declare module 'primeui' {
    var foo:any;
    export = foo
}

谢谢,"declare module.." 应该放在哪里? - m1uan
in a file global.d.ts - basarat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接