我正在为项目使用nbin
。我正在关注this example。但是,我无法包含本机模块。
这是我的代码:
import { mkdirpSync, writeFileSync } from "fs-extra";
import * as path from "path";
import { Binary } from "@coder/nbin";
const dirName = path.dirname(__dirname);
const bin = new Binary({
mainFile: path.join(dirName, "bin", "entry.js"),
suppressOutput: false,
target: 'linux'
});
bin.writeFiles(path.join(dirName, "lib", "**"));
bin.writeFiles(path.join(dirName, "bin", "**"));
bin.writeFiles(path.join(dirName, "..", "node_modules", "**"));
bin.writeModule(path.join(dirName, "..", "node_modules", "libvirt"));
bin.build().then((buffer) => {
const outDir = path.join(dirName, "out");
mkdirpSync(outDir);
writeFileSync(path.join(outDir, "test-exe"), buffer, {
mode: "755",
});
});
我在tsc
生成的输出上运行以上代码。
bin.writeFiles(path.join(dirName, "..", "node_modules", "**"));
,则会收到错误消息: internal/modules/cjs/loader.js:595
throw err;
^
Error: Cannot find module 'tslib'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:593:15)
at Function.Module._load (internal/modules/cjs/loader.js:519:25)
at Module.require (internal/modules/cjs/loader.js:649:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/home/pratik/hive/code/test/dist/bin/entry.js:3:17)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:717:10)
at Module.load (internal/modules/cjs/loader.js:611:32)
at tryModuleLoad (internal/modules/cjs/loader.js:550:12)
at Function.Module._load (internal/modules/cjs/loader.js:542:3)
bin.writeModule(path.join(dirName, "..", "node_modules", "libvirt"));,
我收到错误消息:/home/pratik/hive/code/test/node_modules/bindings/bindings.js:211
throw new Error(
^
Error: Could not find module root given file: "/home/pratik/hive/code/test/node_modules/libvirt/lib/index.js". Do you have a `package.json` file?
at Function.getRoot (/home/pratik/hive/code/test/node_modules/bindings/bindings.js:211:13)
at bindings (/home/pratik/hive/code/test/node_modules/bindings/bindings.js:82:32)
at Object.<anonymous> (/home/pratik/hive/code/test/node_modules/libvirt/lib/index.js:3:34)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:717:10)
at Module.load (internal/modules/cjs/loader.js:611:32)
at tryModuleLoad (internal/modules/cjs/loader.js:550:12)
at Function.Module._load (internal/modules/cjs/loader.js:542:3)
at Module.require (internal/modules/cjs/loader.js:649:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/home/pratik/hive/code/test/dist/lib/utilities/virt-utils.js:6:35)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:717:10)
at Module.load (internal/modules/cjs/loader.js:611:32)
at tryModuleLoad (internal/modules/cjs/loader.js:550:12)
at Function.Module._load (internal/modules/cjs/loader.js:542:3)