javascript - nodejs为什么要使用模版引擎
问 题 最近在学习nodejs,在看模板引擎,感觉用起来也挺不错的。 但是不明白的是为什么我们要使用模版引擎呢? 不是说前后端分离么,后端负责提供平台和接口不就可以了么,至于页面的渲染不是前端的工作么 解决方案 可以不用,但要做个小东西比如企业站,干嘛不用呢,省时省力
168 2022-07-19
编程技术问答社区
angular.js - express+angular,使用templateURL的路径问题
问 题 使用express构建的服务,没有使用视图引擎,将项目目录设置为静态: app.use(express.static(__dirname + '/public')); app.use(express.static(__dirname + '/view')); app.use(express.static(__dirname + '/node_modules')); node入口文件index.js在根目录下,目录结构为: / /index.js /public /view /view/index.html(首页) /view/sidebar.html(侧边菜单) /public/js/app.js(首页的js文件) index.html中引入如下:
108 2022-07-19
编程技术问答社区
javascript - 用mongoose怎么删除一个文档中的字段?
问 题 User.findOne({ activeToken: req.params.activeToken, activeExpires: {$gt: Date.now()} }, function (err, user) { if (err) { return next(err); } if (!user) { return res.status(400).end('您的激活链接无效,请重新注册!'); } user.active = true; // 删除已经没用的token和过期时间字段 delete user.activeToken; delete user.activeExpires; user.save(function
172 2022-07-19
编程技术问答社区
javascript - 配合babel 写nodejs,开发中如何监视改动,自动重启服务
问 题 使用es6来进行nodejs开发,我现在的配置的是babel-node --debug app启动服务,使用node-inspector来调试,但是这样不能监视文件的改动,每次都得手动重启服务,而且我使用node-inspector感觉特别慢,需要几十秒才显示出文件。 请问一下有什么这方面的最佳实践吗? 解决方案 nodemon
288 2022-07-19
编程技术问答社区
javascript - 谁能通俗易懂的解释下node.js里面的全局安装和本地安装的区别吗?
问 题 各有什么好处啊? 解决方案 简单说: 全局安装是安装到nodejs的安装目录,而且那边的bin目录是在你的path中的,于是你可以很方便在命令行中直接调用那里的工具。 本地安装安装到本地往上找package.json存在的目录的node_modules中。用来构建本地项目(或者支撑nodejs运行,用require可以直接引用)。 两个的目标是完全分开的。本地为项目服务,全局是作为工具。 一般常用全局有: pm2 nrm npm eslint hexo-cli vue-cli 等 最有趣的是babel 以前上全局 现在建议在本地了
146 2022-07-19
编程技术问答社区
javascript - 前端路由和后台路由有什么区别?
问 题 之前用过express的路由吧,现在看了react的路由,不过没用过,不造这玩意和express的有啥区别?写网站的时候两个路由都用吗? 解决方案 没用过express,也没使过react,不过我曾经学过laravel(php后端框架),现在工作中在用angularjs,他们也都有路由。我的感觉是 无论前端框架还是后端框架,都想尽办法能够足够支持建站,像路由这种功能,也无法说清到底该前端做还是后端做,毕竟都能做。但是术业有专攻,在提倡前后端分离的情况下,前端相对原来接手了更多的处理逻辑,包括路由。 如果使用react等前端框架建站的话,建议使用前端路由,在前端路由跳转中,始终能够保证是单页应用(SPA),后端更多是提供数据请求接口。
192 2022-07-19
编程技术问答社区
node.js - node express上传文件为什么这里文件夹的路径是错的?
var express = require('express'); var router = express.Router(); var formidable = require('formidable'); router.post('/upload', function (req, res, next) { var form = new formidable.IncomingForm(); form.uploadDir = '../public/uploads'; form.encoding = 'utf-8'; form.maxFieldsSize = 20 * 1024 * 1024; // 保留后缀 form.keepExtensions = true; form.parse(req, function (err, fields, files) { if (err) { retur
120 2022-07-19
编程技术问答社区
node - 跨域如何保持session?
express项目中用到了express-session,开发阶段前后端是两个不同的服务,所以前段用了代理的方式去请求服务端,发现这样session保存不了。请问是什么原因,该怎么解决呢? app.use(session({ secret: 'xxx', resave: true, saveUninitialized: false, maxAge: 1000 * 3600 })); 我前端用的是angular的脚手架,开发的时候前段启了一个服务为localhost:3000,然后服务端的地址是localhost:1994,这样算是不同的域的吧? 因为后端用了session,而session很关键的一步就是要在浏览器上设置一个cookie,好像在跨域的情况下,登录完之后cookie没有设置上去,response上是有cookie的 我应该从前端解决这个问题,还是从服务端解决呢?
166 2022-07-19
编程技术问答社区
node mysql 中 connection.query的问题
问 题 node mysql 中 connection.query('select * from table where tel=?',[tel],function(){}),如果tel有多个值怎么办? 解决方案 connection.query('select * from table where age=? and tel in (?);',[20, [1, 2, 3]],function(){})
1038 2022-07-19
编程技术问答社区
请问node + mongodb的方案中,有必要引入数据库连接池吗?
问 题 我不知道我的理解对不对,当node触发一个IO操作时,会起一个用于IO操作的线程,这个线程会利用之前建立的数据库连接(本质上就是与数据库实例的一个socket连接)进行通信,成功后返回事件给主线程。因为IO操作的线程是存在多个的可能,因此大并发的情况下还是有必要引入数据库连接池。 解决方案 Node驱动已经带有连接池了,不管你想不想用。 实际上所有官方支持的MongoDB驱动都按照统一的标准创建,行为也都相似,所以其实上用到的驱动都使用了连接池来管理连接。
118 2022-07-19
编程技术问答社区
node.js - output is not tty
问 题 用命令` node --v8-options | grep harmony 查看nodejs实现es6的新特性,输出结果是 output is not tty 解决方案 git bash的问题 The reason this doesn’t work as expected appears to be that git bash is passing the command through to the Windows cmd shell, and not handling the output stream correctly 参考 可以在power shell里面运行node --v8-options | Select-String "harmony"
228 2022-07-19
编程技术问答社区
jquery - 请教ajax请求后无法触发button的click事件是怎么回事?
问 题 我在这里做了两个处理, . checkbox引入iCheck插件做样式 . button单击触发ajax请求 在未分离partial页面时是成功的,分离后可以请求到数据列,但checkbox样式和button的click失效。请各位指点!谢谢。 页面HTML,通过ajax请求在tbody处写入列表行,css和js文件已引入 选择 交易日期 操作
196 2022-07-19
编程技术问答社区
javascript - mac osx nodejs 进程关闭
在运行 nodojs 程序时 , 没有正常 ctrl+c 正常结束 进程, 导致 8080 端口一直可以访问 想结束掉 8080 端口 ➜ react-boilerplate2 git:(master) ✗ sudo lsof -n -P| grep :8080 ➜ react-boilerplate2 git:(master) ✗ lsof -i :8080 ➜ react-boilerplate2 git:(master) ✗ lsof -i tcp:8080 ➜ react-boilerplate2 git:(master) ✗ 结果死活都找不到 8080 端口 而访问 http://localhost:8080/ 一直有效
394 2022-07-19
编程技术问答社区