为什么我无法从嵌入式JavaScript中加载模块?

时间:2016-08-28 00:21:19

标签: node.js ejs

我的目标是将一些数据存储在模块中,然后才能检索 使用HTML文档中包含的嵌入式JavaScript进行显示的数据。我的测试代码显示在以下3个文件中:

文件1:HTML(/var/www/html/modTest.html)

<html>
 <head>
  <title>Module Test</title>
  <% var myModule = require("/var/www/cgi-bin/node_modules/modTest") %>
 </head>
 <body>
  <p>Color: <%= myModule.color %>
 </body>
</html>

文件2:模块(/var/www/cgi-bin/node_modules/modTest.js)

var color = "Blue";
module.exports.color = color;

文件3:CGI脚本(/ var / www / cgi-bin)

#!/bin/node
var fs = require("fs");
var ejs = require("ejs")
console.log("Content-type: text/html\n");console.log(ejs.render(fs.readFileSync('/var/www/html/modTest.html','utf8')));

当我将cgi脚本的URL加载到浏览器中时,我得到一个空白页面。 httpd错误日志中有一条错误消息,表示未定义“require”。任何人都可以告诉我为什么这是和(更重要的是)如何解决它?感谢您的任何意见。

   ... doug

1 个答案:

答案 0 :(得分:1)

你需要require.js或webpack / browserify来链接/打包你的javascript一起用于客户端并加载你需要的模块 - 否则你需要包含每个javascript文件作为

<script src="...">
单独标记