V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ch563
V2EX  ›  Node.js

发呆时为了不让隔壁妹子发现,搞个命令行模拟工具

  •  
  •   ch563 · 1 天前 · 2315 次点击
  •   查看本主题需要登录

    参考 RUST 项目 Genact ,使用 nodejs 搞个命令行模拟工具 fakeact,模拟各种框架的下载安装编译。

    免安装使用:

    npx fakeact
    

    全局安装:

    npm i fakeact -g
    

    使用:

    fakeact -m composer
    

    16 条回复    2024-12-18 14:43:26 +08:00
    channg
        1
    channg  
       1 天前
    ~ npx fakeact
    npx: 24 安装成功,用时 2.743 秒

    const segmenter = new Intl.Segmenter();
    ^

    TypeError: Intl.Segmenter is not a constructor
    at file:///Users/xuezhiwen/.npm/_npx/79871/lib/node_modules/fakeact/node_modules/string-width/index.js:5:19
    at ModuleJob.run (internal/modules/esm/module_job.js:183:25)
    at async Loader.import (internal/modules/esm/loader.js:178:24)
    at async Object.loadESM (internal/process/esm_loader.js:68:5)
    at async handleMainPromise (internal/modules/run_main.js:59:12)
    pckillers
        2
    pckillers  
       1 天前
    挺好,现在是 genact 用户,但是上次还是一眼被同事看穿了。
    pckillers
        3
    pckillers  
       1 天前
    如果楼主能提供打包好的 docker 镜像就好了。
    lrh3321
        4
    lrh3321  
       1 天前
    Windows 电脑直接用 Loaf 模拟蓝屏,还能顺便骂巨硬一顿
    ch563
        5
    ch563  
    OP
       1 天前
    @channg 这看着像是 node 版本低不兼容,是 node14?
    ch563
        6
    ch563  
    OP
       1 天前
    @pckillers 收到,立刻研究学习打包 docker 镜像
    pckillers
        7
    pckillers  
       1 天前
    @ch563 搓手期待。😁 有 docker 的话直接
    docker run -it --rm 镜像名
    快速摸鱼了
    DosLee
        8
    DosLee  
       10 小时 31 分钟前
    @pckillers #3 没多难吧,非得喂嘴里?

    ```dockerfile
    # 使用官方 Node.js Alpine 镜像(非常小且高效)
    FROM node:alpine

    # 安装 fakeact 包(全局安装)
    RUN npm install -g fakeact

    # 设置容器启动时默认执行 fakeact -m composer
    CMD ["fakeact", "-m", "composer"]

    ```

    ```shell
    docker build -t fakeact:1.0 .
    docker run --rm fakeact:1.0
    ```
    DosLee
        9
    DosLee  
       10 小时 14 分钟前
    看了一下原项目和这个项目,这个项目可以自定义执行时间吗?
    ppooqq
        10
    ppooqq  
       9 小时 24 分钟前
    我需要运行 8 小时的版本
    mouyase
        11
    mouyase  
       8 小时 10 分钟前
    害得我笑了一下
    davin
        12
    davin  
       8 小时 3 分钟前
    乖乖,这要是做成电脑屏保,不得了
    1024pb
        13
    1024pb  
       7 小时 43 分钟前
    你是真的骚
    luyaolu
        14
    luyaolu  
       6 小时 3 分钟前
    @DosLee #8 #
    使用官方 Node.js Alpine 镜像(非常小且高效)
    FROM node:alpine

    ENV MODULES=composer
    # 安装 fakeact 包(全局安装)
    RUN npm install -g fakeact

    # 设置容器启动时默认执行 fakeact -m composer
    CMD ["sh","-c", "fakeact -m $MODULES"]

    shell docker run -e MODULES=npm --rm fakeact:1.0
    简单改了一下 现在可以在运行 docker 时自定义输出了
    DosLee
        15
    DosLee  
       5 小时 42 分钟前
    @luyaolu 哦,我运行了一下确实。下面这个是我改的。

    ```dockerfile
    # 使用 Node.js 官方镜像作为底层镜像
    FROM node:alpine

    # 安装 fakeact
    RUN npm i fakeact -g

    # 设定容器启动时执行的命令
    ENTRYPOINT ["fakeact"]
    ```

    ```shell

    # 编译镜像
    docker build -t fakeact:1.0 .
    # 启动一次性镜像,打印 weblog
    docker run --rm fakeact:1.0 -m weblog
    # 启动一次性镜像,打印 gcc 编译
    docker run --rm fakeact:1.0 -m cc

    ```

    建议还是用 docker pull svenstaro/genact:latest op 参考的那个,这个可以定义打印时间,默认 2 小时 10 分钟。op 这个我没发现从哪设置打印时间。
    doracoinC
        16
    doracoinC  
       5 小时 17 分钟前
    @ch563 #5 同用了 node14 ,确实是版本问题,切换到 node16 就正常运行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3337 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.