require('child_process').execFile() 不起作用?
require('child_process').execFile() does not work?
我有一个用 Flask 构建的 Web 应用程序,我想在 nw.js(也称为 node-webkit)的帮助下将它变成桌面应用程序。
我在网上发现要做到这一点,我需要编写一个脚本来执行 python 脚本,然后加载主页。
在我的例子中,python 脚本称为 'db_app.py',主页称为 'login.html'。
这是我的代码。
<script>
var gui = require('nw.gui');
var currentWindow = gui.Window.get(); // Get reference to loading.html
var exec = require('child_process');
exec.execFile('db_app.py', {cwd:'.'}, function (error, stdout, stderr){
var appWindow = gui.Window.open('templates/login.html', // Starts your application
{ width: 800,
height: 600,
position: 'center',
focus: false,
transparent: false // This hides the application window
}
);
appWindow.on('loaded', function() { // Waits for application to be loaded
currentWindow.close({force: 'true'}); // Closes loading.html
appWindow.show(); // Shows app.html
appWindow.focus(); // Set the focus on app.html
});
});
</script>
我的问题是 python 脚本没有 运行。 login.html 页面已加载,但 python 代码无效。
知道我可能做错了什么吗?
提前谢谢你。
很可能是因为 execFile 没有创建 shell,所以它不知道如何找到 python 解释器。尝试:
exec.exec('python db_app.py', {cwd:'.'},function(..){..})
我有一个用 Flask 构建的 Web 应用程序,我想在 nw.js(也称为 node-webkit)的帮助下将它变成桌面应用程序。
我在网上发现要做到这一点,我需要编写一个脚本来执行 python 脚本,然后加载主页。
在我的例子中,python 脚本称为 'db_app.py',主页称为 'login.html'。
这是我的代码。
<script>
var gui = require('nw.gui');
var currentWindow = gui.Window.get(); // Get reference to loading.html
var exec = require('child_process');
exec.execFile('db_app.py', {cwd:'.'}, function (error, stdout, stderr){
var appWindow = gui.Window.open('templates/login.html', // Starts your application
{ width: 800,
height: 600,
position: 'center',
focus: false,
transparent: false // This hides the application window
}
);
appWindow.on('loaded', function() { // Waits for application to be loaded
currentWindow.close({force: 'true'}); // Closes loading.html
appWindow.show(); // Shows app.html
appWindow.focus(); // Set the focus on app.html
});
});
</script>
我的问题是 python 脚本没有 运行。 login.html 页面已加载,但 python 代码无效。
知道我可能做错了什么吗?
提前谢谢你。
很可能是因为 execFile 没有创建 shell,所以它不知道如何找到 python 解释器。尝试:
exec.exec('python db_app.py', {cwd:'.'},function(..){..})