当前位置: 首页 > 面试题库 >

错误:找不到模块html

竺绍辉
2023-03-14
问题内容

我已经很长时间没有使用Node.js了,也从未使用过express。当我启动应用程序时,它刚刚返回:

Error: Cannot find module 'html'
  at Function.Module._resolveFilename (module.js:338:15)
  at Function.Module._load (module.js:280:25)
  at Module.require (module.js:364:17)
  at require (module.js:380:17)
  at new View (C:\Users\fr\node_modules\express\lib\view.js:42:49)
  at Function.app.render (C:\Users\fr\node_modules\express\lib\application.js:483:12)
  at ServerResponse.res.render (C:\Users\fr\node_modules\express\lib\response.js:755:7)
  at allClients (C:\Users\fr\node_modules\apps\chat.js:13:7)
  at callbacks (C:\Users\fr\node_modules\express\lib\router\index.js:161:37)
  at param (C:\Users\fr\node_modules\express\lib\router\index.js:135:11)

启动test.html时发生错误。这是代码:

var io = require('socket.io');
var express = require('express');

var app = express(),
http = require('http'),
server = http.createServer(app),
socket = require('socket.io').listen(server);

app.configure(function(){
    app.use(express.static(__dirname));
});
app.get('/', function(req, res, next){
    res.render('./test.html');
});

server.listen(8333);

我自己的路 :

node_modules/
    express/
    socket.io/
    apps/
        chat.js
        test.html

为什么呢

编辑:

这是我的新app.configure:

app.configure(function(){
    app.use(express.static(path.join(__dirname, 'public')));
});

但它返回:

 path is not defined

问题答案:

我假设test.html是一个静态文件。要渲染静态文件,请像这样使用静态中间件。

app.use(express.static(path.join(__dirname, 'public')));

这告诉express在应用程序的公共目录中查找静态文件。

指定后,只需将浏览器指向文件的位置即可显示。

但是,如果要渲染视图,则必须使用适当的渲染器。渲染列表在合并中定义。一旦确定要使用的库就安装它。我使用了胡子,这是我的摘录配置文件

var engines = require('consolidate');

app.set('views', __dirname + '/views');
app.engine('html', engines.mustache);
app.set('view engine', 'html');

这是告诉表达

  • 寻找要呈现在views目录中的文件

  • 使用小胡子渲染文件

  • 文件的扩展名是.html(您也可以使用.mustache)



 类似资料:
  • 我刚刚开始使用webpack,很难获得多入口点示例来构建。网页包。配置。示例中的js文件包括以下行 这对我来说是个错误 在四处搜索时,我找到了将CommonChunkPlugin与表达式一起使用的其他示例 失败并出现错误 进一步搜索发现了许多示例,包括 我的构建现在失败了 我不知道该如何进行。

  • 当运行我的项目包时,我有上面的标题错误,在我试图使用 npm安装xml2json 但是,我只有以下错误,你能给我建议或想法,从这个问题中走出来吗... 编辑:: 1 在我安装了更新的Visual Studio 2005到2012后,当我运行npm安装xml2json和npm安装xml2json--unsece-perm时,我得到下面的错误, 提前感谢,戈帕尔·R

  • 运行command:时,出现以下错误: 错误输出:module.js:339 throw err;^错误:在Function.module._resolveFileName(module.js:337:15)在Function.module._load(module.js:287:25)在module.require(module.js:366:17)在require(module.js:385:

  • 问题内容: 我的Node应用程序在本地运行良好,但是在部署到Heroku时遇到错误。该应用程序使用Sequelize在一个文件夹,其中包含,和。在本地,我可以使用中的以下代码导入模型: 这很好,但是,当我部署到Heroku时,应用程序崩溃并显示以下错误: 最初我以为是由于区分大小写(本地mac与heroku linux),但是我移动了文件,进行了git commit,然后又移回并再次提交,以确保在

  • 我的系统似乎不愿意找到mysql模块。在尝试allot之后,我仍然得到Modulenotfound错误:没有名为MySQL的模块。这是我到目前为止所做的: 1. 2. 这似乎不起作用,所以我做了以下操作: 但这似乎也不起作用。 此外,我的系统似乎找不到mysql-connector-python-rf 有什么可能出问题的猜测吗?

  • 问题内容: 我写了我的第一个node.js应用程序,但是找不到快速库: 但是express已安装(带有密钥): 一些信息: 我怎么解决这个问题?( 必须 安装时不带吗?) 问题答案: 您需要在本地将Express安装到应用程序(文件夹)的上下文中: 原因是应用程序总是在其本地上下文中查找任何依赖项。全局安装仅用于设置系统范围内的可用二进制文件,例如单元测试运行程序或引导程序或类似的东西。 使用Ex