You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需在每个JavaScript程序开头编写prompt-sync引入代码?

解决无需在每个Node.js脚本中引入prompt-sync的方案

下面提供几种可行的方案,避免在每个JS文件开头重复编写prompt-sync的引入代码:

方案1:Node.js预加载模块(推荐)

这个方法通过Node.js的--require(缩写-r)参数,在脚本运行前自动加载并初始化prompt-sync,将其挂载到全局对象:

  1. 确保已在项目中安装prompt-sync:
    npm install prompt-sync
    
  2. 在项目根目录创建一个预加载文件,比如preload-prompt.js,内容如下:
    // 把prompt挂载到全局,所有脚本都能直接使用
    global.prompt = require("prompt-sync")({ sigint: true });
    
  3. 运行脚本时添加预加载参数:
    node -r ./preload-prompt.js your-script.js
    
  4. (可选)把预加载命令写入package.json的scripts,简化操作:
    {
      "scripts": {
        "start": "node -r ./preload-prompt.js"
      }
    }
    
    之后只需执行npm run start your-script.js即可运行脚本。

方案2:创建自定义简化模块

如果不想用全局变量,可通过自定义模块简化引入步骤:

  1. 在项目中创建一个工具模块,比如utils/prompt.js:
    module.exports = require("prompt-sync")({ sigint: true });
    
  2. 在需要使用prompt的脚本中,只需引入这个简化模块:
    const prompt = require('./utils/prompt');
    
    相比原代码更简洁,还能统一管理prompt的配置(比如修改sigint参数只需改一处)。

方案3:全局安装+全局变量(不推荐)

此方法依赖全局模块,可能存在版本冲突问题,仅适合个人测试场景:

  1. 全局安装prompt-sync:
    npm install -g prompt-sync
    
  2. 创建预加载文件(同方案1的preload-prompt.js),运行时指定全局模块路径或配置NODE_PATH环境变量指向全局模块目录(Windows为%APPDATA%\npm\node_modules,Linux/macOS为/usr/local/lib/node_modules),再用-r参数加载预加载文件。

注意事项

  • 使用全局变量(方案1、3)时,要注意避免变量名冲突,其他模块可能也会使用prompt变量。
  • 推荐使用方案1或方案2,前者适合快速运行脚本,后者适合项目化开发的场景。

内容的提问来源于stack exchange,提问作者user16904341

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 06:23:15