• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - Cordova 将 www 文件夹复制到现有版本

[复制链接]
菜鸟教程小白 发表于 2022-12-12 20:50:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

如果我们只更改了 Cordova 项目的 www/ 文件夹中的 Assets ,并且没有更改任何 native 代码/插件,那么是否应该有一个脚本用 ios 构建输出中的现有文件夹替换新的 www/ 文件夹?

这样我们就不必每次想要做一个小改动并在模拟器中重新运行时都使用 cordova build ios 重新构建整个 ios 项目。这将为我们每天节省大量时间。

这样的东西已经存在了吗?



Best Answer-推荐答案


您可以通过三种方式存档:

  1. 为从根 www 文件夹到平台 www 文件夹的每个文件或文件夹创建绝对符号链接(symbolic link)。但是不要对整个 www 文件夹进行符号链接(symbolic link),也不要对 cordova.js 文件进行符号链接(symbolic link)。

  2. 在 Xcode -> Build Phases 中,您可以为您的 www 文件夹中的每个文件或文件夹将 copy-shell-scripts 放在 Copy www 目录中。它应该看起来像: cp -R/absolute/path/to/your/app/www/index.html/absolute/path/to/your/app/platforms/ios/www/index.html

  3. 你可以使用钩子(Hook)。将以下钩子(Hook)放入 hooks->after_platform_add->create_symlinks.js 和 hooks->after_build->create_symlinks.js 中。每次添加 android 或 ios 平台或构建应用程序时,钩子(Hook)都会运行。

你必须使脚本可执行,也许你需要从 npm 安装 shelljs。

这是我的钩子(Hook),根据你的需要修改它:

#!/usr/bin/env node

var what_to_symlink_from_www = [
    "assets",
    "index.html"
];

// no need to change below 

var path = require("path"),
    fs = require("fs"),
    shell = require("shelljs"),
    rootdir = process.argv[2],
    added_platform = process.env.CORDOVA_PLATFORMS,
    www = rootdir + "/www/",
    android_www = rootdir + "/platforms/android/assets/www/",
    ios_www = rootdir + "/platforms/ios/www/",
    buildnumber_file = rootdir + "/buildnumber",
    buildnumber,
    active_platform_www;

shell.echo("\r\nHook start: Symlinking");

if (added_platform === "ios") {
    active_platform_www = ios_www;
    do_job()
}
else if (added_platform === "android") {
    active_platform_www = android_www;
    do_job()
}

function do_job() {
    what_to_symlink_from_www.forEach(function (item) {
        shell.rm("-rf", active_platform_www + item);
        shell.ln("-s", www + item, active_platform_www + item);
        shell.echo("symlinked: " + item + " to " + active_platform_www);
    });
    shell.echo("Hook end: Symlinking" + "\r\n");
}

关于ios - Cordova 将 www 文件夹复制到现有版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37950188/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap