1

我试图在我的 Node JS 服务器中运行一个简单的客户端 JavaScript 代码。但是失败了。我的 index.js 文件如下所示

 response.writeHead(200, { 'Content-Type': 'text/html'});
 response.write('Helloooo Wolrd!!');
 response.end();

现在我如何将普通的 javascript 代码片段放到上面的 index.js 页面中以在 Node JS 上运行(我想知道“节点方式”,也就是“节点最佳实践”),

<script type="text/javascript">
   var ns = 1;

   if (ns == 1){
       alert('Oh..Node what have you done?');
   }else{
       alert('Node is not bad after all');
   }
</script>

我真正在做的是: 我真正在构建的是在 Node Js 上运行的网页,它将通过我 iPhone 的 javascript 捕获陀螺仪值,如设备方向和设备运动,并将其发送回 Web 服务器。我可以在 Apache 堆栈中简单地做到这一点。但它太草率和缓慢。这就是我想要 Node JS 的原因

4

2 回答 2

1

恐怕它仍然不是很清楚你在找什么。您想要如下所示的 HTTP 响应吗?

Content-Type: text/html

Helloooo Wolrd!!
<script type="text/javascript">
   var ns = 1;

   if (ns == 1){
       alert('Oh..Node what have you done?');
   }else{
       alert('Node is not bad after all');
   }
 </script>

如果是这样,那么您可以像 Peter Olson 建议的那样内联脚本标记标记,或者查看将其流式传输到文件的响应中。

如果你想这样做:

Content-Type: text/html

Helloooo Wolrd!!
<script type="text/javascript" src="myScript.js"></script>

将脚本的内容包含在文件myScript.js中,那么最好使用 Express 之类的工具。

如果您试图在服务器端运行等效的警报,那么 user2456263 是正确的。根本没有办法做到这一点。 console.log将是您最接近的等价物,并且不是特别接近。

如果这不是你想要做的这些事情之一,你能再解释一下吗?

于 2013-07-12T02:11:55.830 回答
0

据我所知,您正在寻找节点中的警报功能。真的没有。如果您只想在控制台(丑陋的黑匣子)上打印一些东西,您可以像这样使用 console.log:

 console.log(”Oh..Node what have you done?")

如果您不想更改一行代码,您可以将 console.log 包装在一个警报函数中,如下所示:

var alert = console.log;

它会按原样工作。如果您正在寻找 Dom 交互,您可以尝试 jsdom。

编辑 :

如果你想要一个能够在客户端和服务器端运行的 javascript 文件,你会做这样的事情。

if (typeof(process) !== 'undefined' && typeof(process.stdout) !== 'undefined') {
      console.log('You are running Node.js');
} else {
      alert("Why use console.log() when you can use alert?!");
}

这个问题已经回答了:

如何检查脚本是否在 node.js 下运行?

于 2013-07-12T01:31:32.227 回答