这篇文章主要围绕筛选Node.js,Express和mysql模块和js筛选功能展开,旨在为您提供一份详细的参考资料。我们将全面介绍筛选Node.js,Express和mysql模块的优缺点,解答js
这篇文章主要围绕筛选Node.js,Express和mysql模块和js筛选功能展开,旨在为您提供一份详细的参考资料。我们将全面介绍筛选Node.js,Express和mysql模块的优缺点,解答js筛选功能的相关问题,同时也会为您带来1.1 环境搭建-基础配置-NodeJs+Express+Mysql实战、1.2 Node.js 安装与使用-基础配置-NodeJs+Express+Mysql实战、1.3 Mysql 安装与使用-基础配置-NodeJs+Express+Mysql实战、2 Node.js 知识点讲解-NodeJs+Express+Mysql实战的实用方法。
本文目录一览:- 筛选Node.js,Express和mysql模块(js筛选功能)
- 1.1 环境搭建-基础配置-NodeJs+Express+Mysql实战
- 1.2 Node.js 安装与使用-基础配置-NodeJs+Express+Mysql实战
- 1.3 Mysql 安装与使用-基础配置-NodeJs+Express+Mysql实战
- 2 Node.js 知识点讲解-NodeJs+Express+Mysql实战
筛选Node.js,Express和mysql模块(js筛选功能)
我正在努力通过集成node.js的快速框架和mysql模块https://npmjs.org/package/mysql.我有一个简单的应用程序设置(通过使用快速命令行),我还有一个声明用于处理某些数据库属性的模块.
我的数据库模块设置如下:
app.js
node_modules
|___db
|
node_modules
|___MysqL
将MysqL模块设置为db模块的依赖项.
在我的db模块的index.js中,我有一些模块导出设置供应用程序访问:
/*
* Connection params for database
*/
var MysqL = require(''MysqL'');
var connection = MysqL.createConnection({
host: ''localhost'',
user: ''user'',
password: ''password'',
database: ''database'',
});
var connect = connection.connect(function(err){
if(!err){
console.log("You are connected to the database.");
}
else{
throw err;
}
});
var end = connection.end(function(err){
if(!err){
console.log("MysqL connection is terminated.")
}
else{
throw err;
}
});
module.exports = {
connect: connect,
connection: connection,
end: end,
}
在我的app.js文件中,我需要我的db模块并指定一些路由.我也尝试在app.get方法中为客户端路由使用路由中间件函数(estDb):
/**
* Module dependencies.
*/
var express = require(''express'')
, routes = require(''./routes'')
, clients = require(''./routes/clients'')
, user = require(''./routes/user'')
, http = require(''http'')
, path = require(''path'')
, db = require(''db'');
var app = express();
app.configure(function(){
app.set(''port'', process.env.PORT || 3000);
app.set(''views'', __dirname + ''/views'');
app.set(''view engine'', ''jade'');
app.use(express.favicon());
app.use(express.logger(''dev''));
app.use(express.bodyParser());
app.use(express.methodoverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, ''public'')));
});
app.configure(''development'', function(){
app.use(express.errorHandler());
});
var estDb = function(req, res, next){
db.connect;
db.connection.query("SELECT * FROM Table", function(err, results){
if(!err){
req.results = results;
}
else{
throw err;
}
});
db.end;
next();
}
app.get(''/'', routes.index);
app.get(''/clients'', estDb, clients.view);
http.createServer(app).listen(app.get(''port''), function(){
console.log("Express server listening on port " + app.get(''port''));
});
问题
我有的是,当我启动应用程序时,似乎我的db函数(我的模块导出)被调用,因为我正在获取日志:
Express server listening on port 3000
You are connected to MysqL.
MysqL connection is terminated.
不是在请求url http:// localhost / clients时(我将路由定义为).正如您所看到的,它在控制台记录“Express服务器侦听端口3000”消息后立即触发db.connect()和db.end() – 这让我相信它是从自定义数据库模块触发的我正在使用.随后,当我去路由http:// localhost / clients时,我收到一个错误:
500 Error: Cannot enqueue Query after invoking quit.
如果我从db模块中删除connection.end()函数,我可以连接到数据库并检索结果;但是,如果我重新加载页面并尝试再次加载结果,我收到一个错误:
Cannot enqueue Handshake after already enqueuing a Handshake
我不明白为什么我启动应用程序时模块导出会被触发?我想这就是我遇到麻烦的地方.
任何建议或帮助都会很棒.
解决方法:
I don’t understand why my module exports are firing when I start the application?
I think this is where I’m getting in trouble.
我相信这是因为这段代码:
var MysqL = require(''MysqL'');
var connection = MysqL.createConnection({
host: ''localhost'',
user: ''user'',
password: ''password'',
database: ''database'',
});
在这里,您实际上是连接到数据库,而不是定义一个函数,而不是在被调用时将连接到数据库.
总结
以上是小编为你收集整理的筛选Node.js,Express和mysql模块全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
原文地址:https://codeday.me/bug/20190620/1246415.html
1.1 环境搭建-基础配置-NodeJs+Express+Mysql实战
NodeJs+Express+Mysql实战-环境搭建-基础配置
开发环境:Mac + Sublime Text + iTerm+ Chrome + Navicat + PostMan
1、Mac配置
1.1 安装iTerm:
Mac OS Terminal Replacement
http://link.zhihu.com/?target...
安装成功后打开继续;
1.2 从 App store 或苹果开发者网站安装 Xcode
安装完成以后 在iTerm下输入xcode-select --install
回车后,按照指引,你将完成 Xcode command line tools 安装
1.3 安装Homebrew
控制台iTerm下:
第一步:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
第二步:echo ''export PATH="/usr/local/bin:$PATH"'' >> ~/.bash_profile
第三步:brew doctor
安装成功后可以使用安装软件:
例如Appclear:brew cask install appcleaner
1.4 安装Zsh
使用 Homebrew 完成 zsh 和 zsh completions 的安装brew install zsh zsh-completions
安装 oh-my-zsh 让 zsh 获得拓展功能和主题curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
安装成功以后 在当前用户根目录下:vi .zshrc
将 ZSH_THEME修改为"pygmalion"
:wq!
保存退出以后;
打开 altercation/solarized 将该文件夹下的
Solarized Dark.itermcolors 和 Solarized Light.itermcolors 下载,下载成功后存放到一个平时不会删除的文件夹下;
然后在 iTerm -> Preferences - > Profiles -> Default -> Colors -> Load Presets -> import.. 将其导入;
导入成功后再次点击 Load Presets 选中 “Solarized Dark”设置命令行颜色皮肤:
1.5 安装git
brew install git
检测是否安装成功git --version
git教程:
Git教程
git 常用命令
git ssh-key 配置
Connecting to GitHub with SSH
1.6 安装Sublime Text 3 || VsCode
Sublime Text - Download
安装成功后,打开它,然后View-show console-粘贴以下代码到控制台回车安装扩展包import urllib.request,os,hashlib; h = ''2915d1851351e5ee549c20394736b442'' + ''8bc59f460fa1548d1514676163dafc88''; pf = ''Package Control.sublime-package''; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ''the Sublime Text package manager'' + pf.replace('' '', ''%20'')).read(); dh = hashlib.sha256(by).hexdigest(); print(''Error validating download (got %s instead of %s), please try manual install'' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ''wb'' ).write(by)
破解:
粘贴以下内容到Help-Licence
—– BEGIN LICENSE —–
Nicolas Hennion
Single User License
EA7E-866075
8A01AA83 1D668D24 4484AEBC 3B04512C
827B0DE5 69E9B07A A39ACCC0 F95F5410
729D5639 4C37CECB B2522FB3 8D37FDC1
72899363 BBA441AC A5F47F08 6CD3B3FE
CEFB3783 B2E1BA96 71AAF7B4 AFB61B1D
0CC513E7 52FF2333 9F726D2C CDE53B4A
810C0D4F E1F419A3 CDA0832B 8440565A
35BF00F6 4CA9F869 ED10E245 469C233E
—— END LICENSE ——
安装扩展包:
Sublime Text-Preference -Package Control - Install package
然后分别安装如下:
All Autocomplete Autoprefixer Emmet Git GitGutter jQuery JsFormat Markdown Preview Markdown Editing Sass Less
了解更多:
Sublime Text 有哪些使用技巧?
设置:
Sublime Text-Preference -Setting-User
粘贴如下代码到 json中:
{
"bold_folder_labels": true,
"default_line_ending": "unix",
"draw_minimap_border": true,
"enable_tab_scrolling": false,
"fade_fold_buttons": false,
"folder_exclude_patterns":
[
"node_modules"
],
"font_size": 16,
"highlight_line": true,
"highlight_modified_tabs": true,
"ignored_packages":
[
"Package Control",
"Vintage"
],
"open_files_in_new_window": false,
"remember_open_files": true,
"tab_size": 2,
"trim_trailing_white_space_on_save": true,
"update_check": false,
"word_wrap": true
}
1.7 安装ps:
Photoshop CC链接
PS安装破解详细过程
【Mac】PS CC 软件下载及破解的详细方法
PS一键切图
1.8 安装saas
检测电脑中是否安装rubyruby -v
如果未安装那么brew install ruby
安装成功以后需要将ruby源更换为淘宝源
第一步:移动默认的源gem sources --remove your community gem host
第二步:指定淘宝的源gem sources -a https://ruby.taobao.org/
第三步:查看指定的源是不是淘宝源gem sources -l
安装sasssudo gem install sass
检测安装是否成功sass -v
1.9 mac常用命令
mac常用命令
1.10 谷歌浏览器
谷歌浏览器
Postman
JSON-handle
json美化 JSON-Handle 官网 - 打开json格式文件的浏览编辑器
Chrome 浏览器插件安装方法: 在地址栏输入 , 将下载的 .crx 插件包拖放到打开的页面中.
下一节:1.2 Node.js 安装与使用-基础配置-NodeJs+Express+Mysql实战
1.2 Node.js 安装与使用-基础配置-NodeJs+Express+Mysql实战
下面介绍三种安装方式,各位根据需求选择
· Node.js 的安装与使用 【荐】
· 快速搭建 Node.js 开发环境以及加速 npm【多系统】
基于brew安装Node.js【Mac】
安装Node
brew install node
安装成功后 检查安装是否成功
node -v
由于国外的npm源很不稳定需要讲起转为 国内淘宝npm源,如果需要管理员权限那么 加sudo
npm install -g cnpm --registry=https://registry.npm.taobao.org
如果默认安装的nodejs版本不是项目需要的版本,那么可以通过 n(版本管理工具)来管理;
npm install -g n //执行安装n命令
n 5.10.1 //通过n来安装node固定版本(这里的5.10.1为安装示例版本)
如果提示没有权限
那么请 使用管理员权限,即
sudo n 5.10.1
按照上面介绍 咱们安装下项目nodejs环境版本 v8.9.3【这里说声抱歉,之前这篇教程写的比较早,现在更新为8.9.3】
n 8.9.3
如果需要切换node版本,那么
n //执行node版本列表命令
“ο”为当前选中
上下切换,回车即可选中;
1.3 Mysql 安装与使用-基础配置-NodeJs+Express+Mysql实战
下载 MySQL 及安装
1、下载 MySQL 及安装
OS X Mavericks 中并没有集成 Mysql,需要手动安装。
官网下载: http://dev.mysql.com/download...
国内镜像: http://mirrors.sohu.com/mysql/
请下载 Mac OS X 10.7 (x86, 64-bit), DMG Archive (如有更新版本,可下载)。
如需要登录/注册,直接点下方的:No thanks, just start my download.
下载完DMG之后,双击你会提取出三个文件和一个 RedMe.txt 文档。这三个文件分别是:
mysql-5.6.15-osx10.7-x86_64.pkg
MySQLstartupitem.pkg
MySQL.PrefPane
你需要逐一安装这三个文件,MySQLStartupItem.pkg 安装后,mysql会随系统启动而自启动,MySQL.prefPane 表示可以在系统偏好设置中看到mysql选项,还有一个就是mysql的安装项。
2、配置及启动 MySQL
三个文件都安装完成之后,进入「系统偏好设置」,在面板的最下面你会看到一个 MySQL 的设置项,点击它之后就可以启动MySQL。
也可以通过命令开启mysql:
sudo /usr/local/mysql/support-files/mysql.server start
如果你想查看 MySQL 的版本,可以用下面这个命令:
/usr/local/mysql/bin/mysql -v
运行上面这个命令之后,会直接从命令行中登录到 MySQL,输入命令 q 即可退出。
到这里 MySQL 已经配置完成,并且可以运行。
3、mysql相关命令设置
为了更加方便使用,最好再设置一下系统环境变量,也就是让 mysql 这个命令在任何路径都可以直接启动(不需要输入一长串的准确路径)。
设置环境变量也很方便,直接用命令(这里笔者用 vi 编辑器举例):
cd ;
vi .bash_profile
然后按字母 i 进入编辑模式,将下面的这句代码贴进去:
export PATH="/usr/local/mysql/bin:$PATH"
然后按 esc 退出编辑器,再输入 :wq(别忘了冒号)保存退出。当然你如果使用 nano 或者别的编辑器的话,操作方式跟这个可能不一样,反正意思就是将上面那句话写入到 .bash_profile 文件中。
接下来还要重新加载一下 Shell 以让上面的环境变量生效:
source ~/.bash_profile
之后你就可以在终端的任意目录使用 mysql 命令了,你可以运行 mysql -v 试试。
最后一步,安装好后默认的用户名是root,密码为空,你还应该给你的 MySQL 设置一个 root 用户密码,命令如下:
mysqladmin -u root password ''这里填你要设置的密码''
(请记住密码一定要用半角单引号包起来)
上面的 mysqladmin 命令,我没有写完整路径。因为上面我们已经设置了环境变量,如果你没有设置环境变量的话,就需要用/usr/local/mysql/bin/mysqladmin 来运行。
4、修复mac下 mysql.sock 路径导致的2002 socket 错误
由于 mac 下安装mysql,自动生成的 mysql.sock 路径在 /tmp/mysql.sock ,而php默认连接mysql的路径是 /var/mysql/mysql.sock ,因此需要通过如下命令来修复连接:
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
当然也可通过修改 /etc/php.ini 如下行:
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket = /tmp/mysql.sock
上述操作也能解决 mysql 不能使用 localhost 连接的问题,由于“127.0.0.1”使用“TCP/IP”协议,“localhost”使用sock方式连接,而mac下的mysql.sock的位置/tmp/mysql.sock与phpinfo() 给出的位置/var/mysql/mysql.sock不相符。
如果登录时提示:ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO)
此时需要修改数据库密码
1、停止服务
mysql.server stop
2、进入安全模式
mysqld_safe --skip-grant-tables&
3、另起一个命令板
mysql --user=root mysql
mysql> update user set password=password("root") where user ="root";
Query OK, 2 rows affected (0.01 sec)
Rows matched: 3 Changed: 2 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye
4、Now kill your running mysqld then restart it normally.
killall mysqld_safe&
5、重启服务
mysql.server start
安装mysql可视化管理工具Navicat Premium
Navicat Premium 11.2.1500 Mac中文破解版
http://www.sdifen.com/navicat...
参考阅读:
初识NodeJS服务端开发(Express+MySQL)http://www.alloyteam.com/2015...
2 Node.js 知识点讲解-NodeJs+Express+Mysql实战
Node.js 新手入门:Node.js 新手入门 - CNode技术社区
https://cnodejs.org/getstart
本章节主要参考 nswbmw 教程已经写的很棒了,直接将其教程地址为大家转载过来
-
Node.js 知识点讲解
- require
- exports 和 module.exports
- Promise
- 环境变量
-
packge.json
- semver
-
npm 使用注意事项
- npm init
- npm install
- npm scripts
- npm shrinkwrap
今天关于筛选Node.js,Express和mysql模块和js筛选功能的讲解已经结束,谢谢您的阅读,如果想了解更多关于1.1 环境搭建-基础配置-NodeJs+Express+Mysql实战、1.2 Node.js 安装与使用-基础配置-NodeJs+Express+Mysql实战、1.3 Mysql 安装与使用-基础配置-NodeJs+Express+Mysql实战、2 Node.js 知识点讲解-NodeJs+Express+Mysql实战的相关知识,请在本站搜索。
本文标签: