有没有办法创建一个快捷方式到一个Node.js(npm)应用程序的桌面?

9

有些不熟悉的用户想要“看到”我用Node.js创建的应用程序,但他们不想使用控制台。根据他们的说法,安装应用并在桌面上点击即可清晰地看到。

他们希望将Node.js应用程序作为Windows程序运行。这就是全部!

我该怎么做?我需要创建批处理文件吗?


是的,制作一个 .bat 文件可能是最简单/最直接的方法。更多或更少地模仿您希望他们在 cli 中运行的内容,甚至可以让它打开一个浏览器窗口来缓解主机/端口的任何问题。 - cwurtz
5个回答

10
已解决:
一个.bat文件,重命名为“appstart.bat”。
cd C:\Users\MyUser\MyApp
npm start

在桌面上设置快捷方式。

1
我会在cd命令后添加/D开关,以避免当前工作目录位于另一个驱动器时出现问题;如果npm是一个批处理文件本身,则在其前面加上call(这实际上并没有什么区别,因为npm是最后一个命令行,但如果您在此之后放置更多命令,则只有使用call才能返回到此批处理文件;如果npm是可执行文件,则忽略所有这些)... - aschipfl
假设用户已经在 Windows 上安装了 node.js 并将应用程序存储在 C:\Users\MyUser 中。对于我的特定情况,是这样的。 - Ulises Vargas De Sousa

4
您还可以创建一个快捷方式并将“目标”设置为...
C:\Windows\System32\cmd.exe /k "node index.js"

...并将“开始位置”设置为index.js所在的目录。


1
这是最佳答案,因为它消除了另一个脚本(批处理文件)的需求。 - user736893

2
由于Node-Red通常是全局安装的,因此可以简单地创建一个Node-Red.bat文件。
cd \
Node-Red

然后使用convertico.comNode-Red.png文件转换为Node-Red.ico

Slick Willy


0

您可以使用 create-desktop-shortcuts 节点模块:

  1. npm install --save create-desktop-shortcuts
  2. 运行以下代码以创建快捷方式:
function createShortcut () {
  const path = require('path');
  const createDesktopShortcut = require('create-desktop-shortcuts');

  const pathToYourScript = path.join(process.cwd, 'your-script.js');
  const options = {
    name: 'My cool script',
    filePath: 'node',
    arguments: '"' + pathToYourScript + '"'
  };

  const shortcutsCreated = createDesktopShortcut({
    windows: options,
    linux: options
    // OSX shortcuts do not support arguments in shortcuts
  });

  if (shortcutsCreated) {
    console.log('Everything worked correctly!');
  } else {
    console.log('Could not create the icon or set its permissions (in Linux if "chmod" is set to true, or not set)');
  }
}
createShortcut();

0

批处理文件应该长这样:

cd 文件夹路径
node 文件名.js

例如:

cd users\me\documents\mynodeproject\
node index.js

当你点击批处理文件快捷方式时,它将打开 Node 命令提示符并启动你的控制台应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接