您好朋友,我开始在节点 js 中看到,我收到此错误:
root@sommer0123-AO532h:/home/sommer0123/Desktop/Nodejs/static# node index.js 模块.js:471 抛出错误; ^ 错误:找不到模块“./modules/server” 在 Function.Module._resolveFilename (module.js:469:15) 在 Function.Module._load (module.js:417:25) 在 Module.require (module.js:497:17) 在需要(内部/module.js:20:19) 在对象。(/home/sommer0123/Desktop/Nodejs/static/index.js:4:16) 在 Module._compile (module.js:570:32) 在 Object.Module._extensions..js (module.js:579:10) 在 Module.load (module.js:487:32) 在 tryModuleLoad (module.js:446:12) 在 Function.Module._load (module.js:438:3) root@sommer0123-AO532h:/home/sommer0123/Desktop/Nodejs/static#
据我了解,问题是路线,但路线很好。
我的代码:
index.js
var http = require('http'); var url = 需要('url'); var fs = 需要('fs'); var server = require('./modules/server'); server.create(http, url, fs); console.log('服务器在 http://localhost:3000/ 运行正常');
服务器.js
var mine_types = { 'js' : '文本/javascript', 'html' : '文本/html', 'css' : '文本/css', 'jpg' : '图像/jpg', 'gif' : '图像/gif', 'png' : '图像/png' }; 函数创建(http,url,fs){ http.createServer(函数(请求,响应){ var path_to_file = returnPathFile(url, request); readFile(fs, path_to_file, function(number, file_content){ 如果(数字 === 404){ response.writeHead(number, 'text/plain'); response.end('错误 404。链接不存在或已不存在。'); }否则如果(数字=== 500){ response.writeHead(number, 'text/plain'); response.end('内部错误。'); }别的{ var extension = path_to_file.split('.').pop(); var mine_type = mine_types[扩展名]; response.writeHead(number, {'Content-Type': mine_type}); response.end(file_content); } }) }).listen(3000, '127.0.0.1'); } 函数返回文件路径(网址,请求){ var path_name = (url.parse(request.url).pathname == '/') ?'/index.html' : url.parse(request.url).pathname; var path_to_file = '内容/' + path_name; 返回路径到文件; } 函数 readFile(fs, path_to_file, 回调){ fs.exists(path_to_file, function(exists){ 如果(存在){ fs.readFile(path_to_file, function(error, file_content){ 如果(错误){ 回调(500,空); }别的{ 回调(200,文件内容); } }); }别的{ 回调(404,空); } }); } 出口.创建=创建;
动物.js
变量列表 = { '鸟':新数组('鹦鹉','金丝雀'), '哺乳动物':新数组('狗','马','老虎'), '爬行动物':新阵列('鳄鱼','乌龟','鬣蜥') }; 函数drawHtmlCode(组){ var html = ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += ' 选择动物类型:'; html += ' ' + listGroups(组) + ' '; html += ''; html += ''; html += 列表动物(组); html += ''; html += ''; 返回html; } 函数列表组(组){ var html = ' --- '; 选择变量; for (var item in list) { 选定=(项目==组)?'selected="selected"' : ''; html += ' ' + 项目 + ' '; } 返回html; } 功能列表动物(组){ var html = ''; 如果(列表[组]!=未定义){ html += '
- ';
for (var i in list[group]) {
html += '
- ' + 列表[组] [i] + ' '; } html += '
索引.html
<!DOCTYPE>
<html>
<head>
<title> Ejemplo de Node.js </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="/css/style.css" rel="stylesheet" />
</head>
<body>
<h1> Index </h1>
<ul>
<li> <a href="/index.html"> Index </a> </li>
<li> <a href="/info.html"> Info </a> </li>
</ul>
<p> Bienvenido/a a la página principal </p>
</body>
</html>
body {
background-color: #D4ECF8;
}
<!DOCTYPE>
<html>
<head>
<title> Ejemplo de Node.js </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1> Info </h1>
<ul>
<li> <a href="/index.html"> Index </a> </li>
<li> <a href="/info.html"> Info </a> </li>
</ul>
<p> Esta es la página info </p>
</body>
</html>
我使用的代码的来源:http: //fernando-gaitan.com.ar/introduccion-a-node-js-parte-3-crear-modulos/
错误的img:
index.js 在错误的目录中,您应该将其上传到“静态”文件夹,NodeJS 将从那里找到 './modules/server' 没有任何问题。
您必须使用完整路径“./content/modules/server”。我还建议您在项目的基本文件夹中拥有用于创建服务器的文件。如果不是,那么至少是引用它的 index.js。这是出于使项目结构化的原因,对于这种类型的结构。项目
我还建议研究 express,因为它以一种很好的方式构建项目。