【问题标题】:How to serve HTML+JQuery Web Application with NodeJs+Express?如何使用 NodeJs+Express 提供 HTML+JQuery Web 应用程序?
【发布时间】:2018-02-20 18:56:12
【问题描述】:

我的 app.js 默认配置是使用 express 生成器创建的。我的视图有 .jade 文件,但我想提供包含在我的脚本标记中的 jquery 的纯 HTML 文件。这些 HTML 文件的内容不是静态的,而是通过 ajax 调用获取的,因此这些页面不是严格静态的。

我已阅读其他答案,但没有找到从节点后端提供的 Jquery+HTML 文件的变体。

有人可以告诉我如何实现吗?

编辑

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var index = require('./routes/index');
var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

【问题讨论】:

  • 你能具体说明你已经使用的方法吗?
  • 找不到合适的尝试,所以没试过
  • 粘贴代码示例 ;)
  • @ApoloRadomer 用我的 app.js 示例更新了问题
  • 考虑使用真正的网络服务器来提供静态内容

标签: jquery html node.js


【解决方案1】:

尝试使用:

app.use(express.static(path.join(__dirname, '/path/to/your/index.html')));

_dirname 参数采用直接包含您的 index.html 文件的路径。因此,您要么必须确保公用文件夹中包含 index.html 文件,要么必须将路径传递到特定文件夹。

要回答您的 jquery 问题,您可以将其包含在 index.html 中。因为那是你的前端引导的文件。

【讨论】:

  • 执行此操作后,每个 HTML 页面上都可以使用 JQuery,还是我必须明确地将其添加到每个页面才能使其工作?
  • 这可以工作并呈现我的 index.html,但不能完全回答我的问题
  • 您必须为每个 HTML 页面添加 JQuery。
猜你喜欢
  • 1970-01-01
  • 2015-03-06
  • 2017-05-17
  • 2019-05-26
  • 2018-03-15
  • 1970-01-01
  • 2016-02-18
  • 2018-04-24
  • 1970-01-01
相关资源
最近更新 更多