当前位置: 首页 > news >正文

Express简介

Express是一个基于 Node.js 平台,快速、开放、极简的 web 开发框架。它的官网地址:http://expressjs.com ,中文网址:http://www.expressjs.com.cn/ 。本篇主要介绍一下 Express项目的搭建。假设我们已经安装好了Node.js,现在创建一个目录作为我们的项目目录,进入这个目录下:

$ mkdir myapp
$ cd myapp

使用 npm init 命令创建 一个package.json文件在我们项目下,关于package.json的详细细节可以去这里了解https://docs.npmjs.com/files/package.json 。

$ npm init

这个命令执行后会有一些提示,例如让我们指定项目的名字和版本。大多数情况可以直接接受默认的值,也可以修改默认的值,比如当现现下面这个提示时:

entry point: (index.js)

我们可以输入app.js,或者任何你想要的主文件的名称来替换默认的index.js 。

下面在我们的项目目录下安装 Express 并保存它到我们的依赖列表中,例如:

$ npm install express --save

如果只是临时安装Express并不保存到依赖列表,可以这样:

$ npm install express --no-save

注意事项:

  1. 在npm 5.0以上的版本中,默认情况下 npm install 将会安装模块到package.json文件的依赖列表中,但是npm 早期的版本,你必须显示的指定 --save参数。
  2. 一个node package有两种依赖,一种是dependencies ,一种是devDependencies,其中前者依赖的项该是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。
  3. 编程中,如果自己需要某一依赖,在安装时一定要使用npm install echarts -save或npm install echarts -save-dev,即将依赖配置到package.json中对应的对象中,这样别人拿到这个项目就可以通过执行 npm install 获得所有的这些依赖。如果你是通过以下命令进行安装 npm install packagename 那么只会安装dependencies,如果想要安装devDependencies,需要输入 npm install packagename --dev

上面是手动搭建Express开发环境的方式, 这里再介绍一种更方便快捷的方式,即使用IDE工具(如WebStorm),在 File ——> New ——>Project ,选择:

建好的项目结构如下:

 

运行bin下面的www 文件,即会启动一个web服务并监听3000端口,打开浏览器访问,即可:

 


 

还有一种方式是通过应用生成器工具 express 可以快速创建一个应用的骨架。详细可参考 http://www.expressjs.com.cn/starter/generator.html 

转载于:https://www.cnblogs.com/hzhuxin/p/9604675.html

相关文章:

  • Spring源码剖析依赖注入实现
  • Linux中关机命令详解
  • 迷茫的时候就看看这100句,希望对你有所启发
  • 洛谷 P1855 榨取kkksc03 (二维费用背包)
  • 我的前端工具集(一)日期时间转换工具
  • Html5之Web存储
  • linux用户与权限
  • Java I/O
  • python大佬养成计划----difflib模块
  • 都别说工资低了,我们来一起写简单的dom选择器吧!
  • grandstack graphql 工具基本试用
  • wamp配置多域名虚拟目录
  • html的进一步了解(更新中···)
  • 在Win7上安装MySql5.2遇到Write configuration file的解决
  • ScheduledThreadPoolExecutor
  • 分享的文章《人生如棋》
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • exif信息对照
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JS+CSS实现数字滚动
  • LeetCode29.两数相除 JavaScript
  • Linux CTF 逆向入门
  • MySQL主从复制读写分离及奇怪的问题
  • ReactNativeweexDeviceOne对比
  • ReactNative开发常用的三方模块
  • RxJS: 简单入门
  • 工作中总结前端开发流程--vue项目
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • No resource identifier found for attribute,RxJava之zip操作符
  • 白色的风信子
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • #Linux(Source Insight安装及工程建立)
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)项目管理杂谈-我所期望的新人
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .net/c# memcached 获取所有缓存键(keys)
  • .so文件(linux系统)
  • @Bean有哪些属性
  • @ConfigurationProperties注解对数据的自动封装
  • @我的前任是个极品 微博分析
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [2023-年度总结]凡是过往,皆为序章
  • [Android] Android ActivityManager
  • [Android]如何调试Native memory crash issue
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]