3

我们即将关闭一个 SAPUI5 应用程序,最后的步骤之一是制作一个Component-Preload.js文件以提高性能。我在网上阅读了不同的指南,它们都需要我安装的 Node.js。我不是该软件包的专家,我不知道如何使其中一个指南起作用。我正在使用 NetBeans 进行开发。据我所知,没有官方工具(对吗?)来生成该文件。比我更有经验的人可以建议一个有效的、解释清楚的指南来执行这项任务吗?

我不知道这是否有帮助,那是我的工作树: 当前项目的工作树

4

1 回答 1

12

有几种主要的方法。

  1. 您可以使用 SAP Web IDE 来生成它。这假设您正在使用 WebIDE 来开发您的应用程序(根据您的问题,这是不正确的)。常规版本的 WebIDE 在应用程序部署之前的“客户端构建”期间生成此文件。

  2. WebIDE 的“多云”版本可以使用 grunt 构建来完成。如果您有兴趣,可以在这里找到更多信息:https ://www.sap.com/developer/tutorials/webide-grunt-basic.html 。

  3. 使用新的 UI5 命令行工具 ( https://npmjs.com/package/@ui5/cli ):

    • 运行npm i -g @ui5/cli以全局安装工具。
    • 使用终端打开项目的根目录。
    • 运行ui5 build preload以构建预加载。
  4. 使用@sap/grunt-sapui5-bestpractice-build预配置的 grunt 任务。缺点是它们或多或少是黑匣子,不允许进行太多定制。您可以在 SAP 的 GitHub 存储库jenkins-pipelines上找到示例设置。简而言之:

    • 您需要定义一个.npmrc添加@sap npm 注册表的文件:@sap:registry=https://npm.sap.com
    • 运行npm init命令以生成package.json文件。该文件描述了您的应用程序和您的依赖项(运行时依赖项和开发依赖项;您现在只有开发依赖项,因为您只想构建您的应用程序)。确保将包标记为私有。请参阅npm 文档(在许可证章节的末尾)。
    • 然后你可以安装 grunt 和构建配置:npm i grunt -Dnpm i @sap/grunt-sapui5-bestpractice-build -D.
    • 最后,您需要定义一个简单的 Gruntfile(然后您可以通过运行来运行构建grunt):

module.exports = function (grunt) {
    'use strict';
    grunt.loadNpmTasks('@sap/grunt-sapui5-bestpractice-build');

    grunt.registerTask('default', [
        'lint',
        'clean',
        'build'
    ]);
};

  1. 您可以使用官方grunt_openui5插件生成预加载文件。为了能够做到这一点,您需要安装节点:

    • 创建一个package.json(例如通过npm init)。
    • 通过在控制台中写入来安装 grunt: npm install grunt-cli --save-dev.
    • 安装官方 openui5 grunt 插件:npm install grunt-openui5 --save-dev.
    • 现在你已经拥有了所有必要的工具,你只需要告诉 grunt 它必须做什么。您应该在项目的根目录中创建一个Gruntfile.js 。在这个文件中,您应该按照官方 github 页面中的描述配置 grunt openui5 任务(我在上面链接了它)。你可以在这里找到一个类似的文件(它有更多的构建步骤,比如缩小和将结果文件复制到一个单独的目录中)。
    • 然后,您只需grunt <task_name>在控制台中运行即可运行 grunt 构建。如果您将构建任务注册为 grunt 默认任务(如在示例文件中:),grunt.registerTask('default', [...]);那么您只需编写grunt.
    • 我认为您应该能够将这样的命令行脚本(即运行grunt)集成到您的 IDE 中作为外部工具
  2. 您可以使用非官方gulp-openui5工具生成它。如果您还没有使用 gulp 进行构建(因为它不是 SAP 构建的工具),我不建议您这样做。过程是相同的,但是使用 gulp 而不是 grunt 来构建应用程序(因此您需要安装 node、npm init、安装 gulp、创建 Gulpfile 等)。

请注意,对于上述大多数方法,您需要 nodejs,您可以从这里下载并安装它:https ://nodejs.org/en/download/ 。

于 2017-07-12T15:30:44.243 回答