V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ltaoo1o  ›  全部回复第 9 页 / 共 9 页
回复总数  168
1  2  3  4  5  6  7  8  9  
贴不了图片,这个是运行时的报错

PS C:\Users\xxx\Documents\temp\my-next-app\.next\standalone> .\server.exe
✅ Granted all env access.
error: Uncaught NotSupported: chdir 'C:\Users\xxx\AppData\Local\Temp\deno-compile-server.exe\standalone': chdir 'C:\Users\xxx\AppData\Local\Temp\deno-compile-server.exe\standalone'
at Process.chdir (ext:deno_fs/30_fs.js:155:3)
at Object.<anonymous> (file:///C:/Users/xxx/AppData/Local/Temp/deno-compile-server.exe/standalone/server.cjs:6:9)
at Object.<anonymous> (file:///C:/Users/xxx/AppData/Local/Temp/deno-compile-server.exe/standalone/server.cjs:39:4)
at Module._compile (node:module:748:34)
at Object.Module._extensions..js (node:module:767:10)
at Module.load (node:module:665:32)
at Function.Module._load (node:module:537:12)
at Object.loadCjsModule (ext:deno_node/02_init.js:64:22)
at loadCjsModule ([ext:ext\node\lib.rs:783:29]:2:32)
at [ext:ext\node\lib.rs:783:29]:3:7
https://github.com/nextjs/deploy-deno 我参考这个项目,能用 deno server.cjs 成功运行打包后的产物,而且也能打包出一个 120MB 的 .exe 文件,但是运行 .exe 文件是报错的。

这种问题没法排查,网上也搜不到类似的。

![Snipaste_2024-11-24_00-12-38.png]( https://image.988589.xyz/api/cfile/AgACAgUAAyEGAASC5r41AAMnZ0H-8DKOcwhIRYEanezZE8FI6AYAApe9MRulbhBWgQNAYq5BdnkBAAMCAAN5AAM2BA)
@li1218040201 最后的回复提到 next build and standalone 我之前也试过,Windows 环境下有问题,也一直解决不了
@monmon 试了下不行,翻了 ncc issues 别人也遇到了同样的问题,而且解决不了 https://github.com/vercel/ncc/issues/1138
78 天前
回复了 MaxPool 创建的主题 前端开发 next.js 文件上传问题,求解
贴一下代码和控制台截图,这样提问什么信息都没有,想帮也帮不了。
感谢,也是一个方案,我去试试。
https://github.com/tiny-craft/tiny-rdm
这个项目用的 wails ,打包后只有 10MB 。

我自己用过的
1 、tauri 打包后有 12MB 左右
2 、flutter 打包后有 24MB 左右

逻辑都非常简单,可以看作是「最小体积」
2022-12-05 22:39:49 +08:00
回复了 SeleiXi 创建的主题 Node.js 新人求教如何在终端获得输入?
不知道你是想获取哪种,我理解有两种,一种是在终端执行一个命令后,获取到这个命令的输入;第二种是在终端进行交互式的输入,可以实时获取到输入。
直接给两种实现的代码吧

```typescript
// 1 、获取执行命令时的参数
const commandSegments = process.argv;
console.log(commandSegments);

/**
* @example
* node index.js run --help
* commandSegments === ['/usr/local/bin/node', '/Users/litao/Documents/temp/cmd/index.js', 'run', '--help'];
*/

// 2 、交互式获取输入的参数
const { createInterface } = require("readline");
const { stdin, stdout } = process;
console.log("Please input something:");
const rl = createInterface({
input: stdin,
output: stdout,
});
rl.on("line", async (input) => {
console.log("your input is:", input);
});

/**
* @example
* node index.js
* > hello world
* > your input is: hello world
*/

```

首先是运行这个脚本,我用 `node index.js run --help`,首先会打印

```bash
[
'/usr/local/bin/node',
'/Users/litao/Documents/temp/cmd/index.js',
'run',
'--help'
]
```

这个就是 `process.argv` 了,就是上面说的第一种;然后命令不会退出,这时可以继续输入,比如 `aaa`,终端会响应

```bash
your input is: aaa
```
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1013 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 23:13 · PVG 07:13 · LAX 15:13 · JFK 18:13
Developed with CodeLauncher
♥ Do have faith in what you're doing.