如何使用 webpack 使 syncfusion 在 aurelia electron 应用程序中工作?
How do you get syncfusion to work in an aurelia electron app using webpack?
我可以使用 Aurelia、Electron 和 Webpack,但我想包括 Syncfusion 的 CDN 版本。在普通的网络应用程序中,您可以将它包含在 HTML 文件中,但是如何将它包含在 Aurelia Electron Webpack 应用程序中?
在我的 app.html
中,我有以下代码:
<require from="http://cdn.syncfusion.com/js/assets/external/jquery-1.10.2.min.js"></require>
<require from="http://cdn.syncfusion.com/js/assets/external/jsrender.min.js"></require>
<require from="http://cdn.syncfusion.com/16.3.0.29/js/web/ej.web.all.min.js"></require>
require 标签不适用于外部 CDN,但适用于本地自定义 elements/value converters/custom attributes/styles。将 <script src="http://...">
元素添加到您的 index.html 或创建自定义元素以将脚本加载到特定组件中,例如 this.
供您参考,Webpack 应用程序会将脚本文件捆绑在 dist
文件夹中,这对 运行 Electron 应用程序很有帮助。
要导入 Syncfusion JavaScript 依赖文件,您可以使用以下两种方式之一:
- 导入
main.ts
文件中的脚本
- 为 Syncfusion 依赖项创建自定义 JavaScript 文件
导入 main.ts 文件中的脚本
导入 main.ts 文件中的脚本,如下代码片段所示。如下导入 Syncfusion JavaScript 依赖项时,它将捆绑在 dist
文件夹中。
...
import { PLATFORM } from 'aurelia-pal';
import * as Bluebird from 'bluebird';
import 'syncfusion-javascript/Scripts/ej/web/ej.grid.min';
// remove out if you don't want a Promise polyfill (remove also from webpack.config.js)
Bluebird.config({ warnings: { wForgottenReturn: false } });
export async function configure(aurelia: Aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin(PLATFORM.moduleName('aurelia-syncfusion-bridge'), (syncfusion) => syncfusion.ejGrid());
...
为 Syncfusion 依赖项创建自定义 JavaScript 文件
您必须为 Syncfusion Dependencies (ej.web.all.min.js
) 创建自定义 JavaScript 文件,并使用 app.html
中的 require
导入创建的 JavaScript 文件文件。
我可以使用 Aurelia、Electron 和 Webpack,但我想包括 Syncfusion 的 CDN 版本。在普通的网络应用程序中,您可以将它包含在 HTML 文件中,但是如何将它包含在 Aurelia Electron Webpack 应用程序中?
在我的 app.html
中,我有以下代码:
<require from="http://cdn.syncfusion.com/js/assets/external/jquery-1.10.2.min.js"></require>
<require from="http://cdn.syncfusion.com/js/assets/external/jsrender.min.js"></require>
<require from="http://cdn.syncfusion.com/16.3.0.29/js/web/ej.web.all.min.js"></require>
require 标签不适用于外部 CDN,但适用于本地自定义 elements/value converters/custom attributes/styles。将 <script src="http://...">
元素添加到您的 index.html 或创建自定义元素以将脚本加载到特定组件中,例如 this.
供您参考,Webpack 应用程序会将脚本文件捆绑在 dist
文件夹中,这对 运行 Electron 应用程序很有帮助。
要导入 Syncfusion JavaScript 依赖文件,您可以使用以下两种方式之一:
- 导入
main.ts
文件中的脚本 - 为 Syncfusion 依赖项创建自定义 JavaScript 文件
导入 main.ts 文件中的脚本
导入 main.ts 文件中的脚本,如下代码片段所示。如下导入 Syncfusion JavaScript 依赖项时,它将捆绑在 dist
文件夹中。
...
import { PLATFORM } from 'aurelia-pal';
import * as Bluebird from 'bluebird';
import 'syncfusion-javascript/Scripts/ej/web/ej.grid.min';
// remove out if you don't want a Promise polyfill (remove also from webpack.config.js)
Bluebird.config({ warnings: { wForgottenReturn: false } });
export async function configure(aurelia: Aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging()
.plugin(PLATFORM.moduleName('aurelia-syncfusion-bridge'), (syncfusion) => syncfusion.ejGrid());
...
为 Syncfusion 依赖项创建自定义 JavaScript 文件
您必须为 Syncfusion Dependencies (ej.web.all.min.js
) 创建自定义 JavaScript 文件,并使用 app.html
中的 require
导入创建的 JavaScript 文件文件。