通过browserify在浏览器中执行node.js子进程
问题描述:
我正在使用browserify来让node.js在浏览器上运行。我想,所以我做这样的事情在index.js执行一个子进程通过browserify在浏览器中执行node.js子进程
var exec = require('child_process').exec;
//I'm just checking the node version installed, you can do your own process here
var ls =exec('node -v', function(error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
使用browserify命令
browserify index.js -o bundle.js -d
生成一个bundle.js还包括在HTML中bundle.js
<script src="bundle.js"></script>
但在浏览器的控制台我得到的
"exec is not a function"
节点版本是v0.12.7
答
browserify不会在浏览器中运行node.js。
Browserify允许您在浏览器中需要('模块')。
所以你的代码很好很整齐。 但是,没有child_process
,net
或fs
。
再次,您没有在浏览器上运行节点。
P.S.有一些模块可以实现网络和浏览器的fs,例如browserify-fs
等。
嗨@Rahat,我可以在这里做些什么来包含child_process – Hmahwish
什么都没有。另外,没有'node -v'因为没有节点。虽然,我不知道你的最终目标是什么,但webworkers就像浏览器上的子进程。尽管浏览器在单个线程上运行JavaScript,您仍然可以使用它们产生进程。 –
所以你说的是没有办法执行子进程,我想用它运行一个命令 – Hmahwish