Tag: html

不能在ExpressJS服务的索引文件中包含JS文件

目前我正在构build一个Web应用程序,其中包含多个页面。 但是,每个页面都有多个视图。 最初的devise是将每个页面设置为一个SPA,并且只是从Node.js后端服务index.html ,让React.js处理所有的视图路由。 事实certificate,这比我想象的要复杂得多。 这是问题。 Node.js路由(片段): router.get("/", function(request, response){ response.sendFile("/index.html", { root: __dirname + "/../client/pages/home/" }); }); 但是在index.html (snippet)中: <html> <head> <title>New Website</title> </head> <body> <h1>Welcome to my website..</h1> <div id="App"> </div> <script src="index.js"></script> </body> </html> index.js不包含在内。 当浏览器尝试包含index.js它会从Node.js服务器请求路由www.example.com/index.js ,这显然没有设置,所以我得到一个Cannot GET /index.js响应。 每个SPA都在其index.html和index.js文件夹中。 使用所有js文件创build公用文件夹目前不是一个选项。 ================================================== ======================== 解决:这是我使用的代码 clientController.js module.exports = function(app){ router.get("/", function(request, response){ app.use("/", […]

错误:ENOENT:没有这样的文件或目录,打开“./views/s.ejs”Nodejs Express

试图从'路线'从'视图'目录呈现文件,但是得到以下错误: 错误: 有效的login {[Error:ENOENT:no such file or directory,open'./views/s.ejs'] errno:-2, 代码:'ENOENT', 系统调用:“打开”, path:'./views/s.ejs'} [0mPOST / afterSignIn [32m200 [0m77.339 ms – – [0m afterSiginIn.js(Routes Directory) var ejs = require("ejs"); var mysql = require('./mysql'); var express = require('express'); var router = express.Router(); router.post('/',function(req,res,next) {enter code here console.log("reached after sign in checking if user exists"); // check user already […]

使用Express.js提供纯文本SVG(与Cheerio.js相关的解决scheme)

我正在尝试在通过Express.js发送之前处理SVG。 我有以下代码: app.get("/iconic/styles/:style/:base/:icon", function (req, res) { var style = req.params.style; var base = req.params.base; var icon = req.params.icon; var iconPath = path.join(iconFolderRoot, style, icon); svgProcessor(iconPath, base).then(function (svg) { //console.log(svg); // SO: See the example output posted below res.header("Content-Type","image/svg+xml"); //res.send(new Buffer(svg, 'binary')); // No difference res.send(svg); }).catch(function (err) { res.status(404).send("Error" + JSON.stringify(err, null, " ")); […]

在本地主机服务器上找不到png文件

错误代码http:// localhost:3000 / public / resource / calendar.png加载资源失败:服务器响应状态为404(未find) 我想要Web服务。 我不知道为什么这个错误。 它在本地文件中运行良好,但是从nodejs开始这个错误 错误 这是我的来源 app.js var express = require('express'), app = express(), server = require('http').createServer(app), io = require('socket.io').listen(server); server.listen(3000); app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }); index.html(来源太长) 这是错误代码 text-align: center; background: url('./public/resource/calendar.png'); background-size: contain; 而png文件path是D:\ Hackathon \ public \ resource 和app.js,索引path是D:\ Hackathon 帮助我PLZ

如何开发一个没有服务器端语言的dynamic网站?

我是网页开发的初学者。 我做的唯一的网站是HTML,CSS,JS和jQuery,它们都是静态的(所有的数据都是用HTML或JS进行硬编码的)。 我想要构build一些更有吸引力的东西,而不使用连接到数据库的服务器端语言(如node.js或PHP),可能会从CSV“数据库”填充网站上的信息。 我的问题是,如何在不使用服务器端语言的情况下制作dynamic网站?

使用#each在handlebars.js中显示一些数据而不显示

您好有一个项目,我将一个静态网站转换为一个数据驱动,现在我只是想改变,所以每个网页的内容是通过一个数据对象进入网站。 我正在使用:node.js,handlebars,express 我的index.js文件有这样的对象 var item = [{ pagetitle: 'Page 1', text: 'content page 1' }, { pagetitle: 'Page 2', text: 'content page 2' }, { pagetitle: 'Page 3', text: 'content page 3' }, { pagetitle: 'Page 4', text: 'content page 4' }, { pagetitle: 'Page 10', text: 'content page 10' }]; 我的index.hbs看起来像这样 <div class="bb-blah"> {{title} […]

如何定位行中的第一个ID

我正在尝试做网页抓取,我想以JSON格式显示数据。 我的任务是从网站中提取每个post,并以JSON格式显示其相关数据。 我的问题是,我似乎无法定位行(),然后定位每个ID。 我可以在我的代码中inputid,但是我希望程序能够通过seacrh获得id,控制台会logging每行id中的数据。 例如:我想通过id获得第一篇文章的标题。 我希望我有道理。 我试图从以下网站提取数据的网站: 我的代码: var express = require('express'); var path = require('path'); var request = require('request'); var cheerio = require('cheerio'); var fs = require('fs'); var app = express(); var port = 8080; var url= "https://news.ycombinator.com/"; request(url, function(err,resp,body){ var $ = cheerio.load(body); var title = $('tr'); var uri var author var points […]

如何加载webpack捆绑包asynchronous,但按顺序执行?

我有两个webpack包, main.js和vendor.js 。 显然, main.js脚本在main.js有很多依赖关系,必须先加载供应商。 目前,在我的HTML文档的结尾,我只是在做: <script src={assets.javascript.vendor} charSet='UTF-8' /> <script src={assets.javascript.main} async defer charSet='UTF-8' /> 这样,至lessmain.js包被加载asynchronous。 但是,如果我将这两个捆绑包设置为asynchronous,则页面加载将根据下载/执行的顺序而随机失败。 基本上每个pagespeed工具都会抱怨vendor.js是“呈现阻塞”,即使它在我的html文档的最后。 我不知道如何认真采取这一点,但是有没有办法设置这两个bundle加载asynchronous,但确保执行正确的顺序发生,而不做像从其他JavaScript文件等脚本标签的东西? 这对于webpack来说必定是一个常见的用例吗?

在.ejs文件中获取当前页面?

我有简单的Node.js Web应用程序通过护照login/注册function。 在导航栏中,我有两个button:login和注册。 我想要做的是,当用户在注册页面上时,只显示导航栏中的loginbutton,当用户在login页面上时,只显示导航栏中的注册button。 我怎么能在我的头ejs文件中实现这个? 我试过这个: <% if (document.URL.contains("login")) { %> <li><a href="/login">Sign In</a></li> <% } else { %> <li><a href="/register">Sign Up</a></li> <% } %> 问题是,文件variables没有在我的ejs当地人定义…我不认为我可以定义为本地? 至less当我尝试时,我得到一个错误,该文件没有定义…有道理,因为这是在app.js文件中完成。 我怎样才能实现这个function? 谢谢!

基于用户input的dynamic网站内容

你好我正在使用Node JS和Jade创build一个网站。 我试图在网站上创build一个表单,根据用户input显示不同数量的字段,但我似乎无法得到这个工作。 我究竟做错了什么? 在我的Routes.js中,我有这些页面: app.post('/newBlank', function(req, res) { if (req.session.user == null){ // if user is not logged-in redirect back to login page // res.redirect('/'); } else{ fields = req.body.id console.log(fields + " here") res.render('newBlank', {fieldsNo: req.body.id}); console.log(req.body.id) } }); app.get('/newBlank', function(req, res) { if (req.session.user == null){ // if user is not logged-in […]