nodeJS学习(4)--- webstorm/...开发 NodeJS 项目-节1

2024-05-07 02:18

本文主要是介绍nodeJS学习(4)--- webstorm/...开发 NodeJS 项目-节1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

转自:https://www.cnblogs.com/ostrich-sunshine/p/6659708.html

前提:

  已安装好 IDE ,eg:webstorm/IDEA 2016.3 & 2017.1 

                nodeJS(含 npm 及 相应的模板等)

     要用 webstorm 开发 NodeJS项目(web/JS)项目,首先需要:

1. IDE 说明

     webstorm 中自带了 nodeJS 开发环境的插件,可以跳过该步骤,直接下一步

  若在 IDEA中,需下载 NodeJS 插件,参考http://blog.csdn.net/wang19891106/article/details/51127133,主要步骤如下:

  • 默认安装好了IDEA,在IDEA的file -> setting ->Plugins,右边默认是没有这个组件的需要你手动点击Browe repositories..,在插件列表中搜索nodejs,将看到NodeJS插件,点击下载,重启,(其实它会关联到你安装的NodeJS)如下图; 
    这里写图片描述
  • 在new project中就多出一项NodeJS 
    这里写图片描述
  • 构建第一个NodeJS项目 
    这里写图片描述

  出现如下问题:原因 4.X 版本 express.js 文件名称改变

Error creating Node.js Express App. Cannot find C:\Users\admin\AppData\Local\Temp\intellij-express-generator\node_modules\express-generator\bin\express

解决方法:方法1: 使用命令行 方式创建项目,再使用以上 IDE 打开即可(已亲测试成功)

                   方法2:如上图 构建项目时, Version 选择 4.14.1 版本或以下(必须下载大于等于该版本的 express-generator)(已亲测试成功)

2. 创建项目:本文使用 Node.js web 框架 express 框架

(1)首先需要下载保存支持 express 的模块,如下:

复制代码

npm install express  -save   # 本地安装(没必要全局安装 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。)# 本地安装(没必要全局安装 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。)
$ npm install body-parser --save    # body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。
$ npm install cookie-parser --save  # cookie-parser - 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。
$ npm install multer --save   # multer - node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。-parser --save    # body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。
$ npm install cookie-parser --save  # cookie-parser - 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。
$ npm install multer --save   # multer - node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。

复制代码

  安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径。

var express = require('express'); 

(2)创建一个模板引擎为 ejs,应用名叫 testNode 的工程

  • 先进入你想创建项目的目录,eg:F:\workspace
  • 创建项目,创建一个模板引擎为 ejs,应用名叫 testNode 的工程,命令如下:
$ express --view=ejs testNode

      回车,输出如下:

复制代码

create : testNode
create : testNode/package.json
create : testNode/app.js
create : testNode/public
create : testNode/views
create : testNode/routes
create : testNode/routes/index.js
create : testNode/routes/users.js
create : testNode/bin
create : testNode/bin/www
create : testNode/public/images
create : testNode/public/javascripts
create : testNode/public/stylesheets
create : testNode/public/stylesheets/style.cssinstall dependencies:$ cd testNode && npm install 
run the app: $ DEBUG=testNode:* npm start

复制代码

  • 按照提示,进入新建 testNode 目录,并下载模板包,命令如下:
    cd testNode && npm install

    回车,生成的项目目录结构如下(该文件已经生成一个可以运行的Demo)。 

        

复制代码

 bin: 是真实的执行程序

 node_modules:存放所有的项目依赖库

 public:静态文件(css,js,img) 

 routes:路由文件

 views:页面文件

 app.js,程序启动文件

 package.json:项目依赖配置及开发者信息

复制代码

此时,完整的应用架构已建设完毕,之后就可以编写自己的代码。

  • 启动服务。

       (1)法1: 使用 IDE 环境的设置(已尝试成功):

   如下 点击下图 红圈处

      

     接着点击 Edit Confignations.... ---> 绿色加+ --->  Name: www (默认), 设置如下:

      其中 Name: 可以根据自己爱好,想怎么写都行,结果如下:

   

  完成后点击 apply ---> ok 即可,出现类似以下结果:

       这里写图片描述

  出现如下提示”Listening on port 3000”,说明服务启动成功 
       这里写图片描述

  • 在浏览器中输入”http://localhost:3000/“,出现下图说明成功 

     这里写图片描述

 (2)法2: 使用 IDE 环境的终端输入命令启动(已尝试成功):

     打开 Terminal ---> npm start ,回车即可,在浏览器打开  localhost:3000,出现如下界面:

   这里写图片描述

 (3)法3: 使用 电脑命令行输入命令启动(已尝试成功):

     打开 cmd 回车---> npm start ,回车即可,在浏览器中打开  localhost:3000,出现如下界面:

   这里写图片描述

3. node.js 使用ejs模板引擎时后缀换成.html (重要!!!,已亲实践)

    此部分特别感谢网址http://www.jb51.net/article/64579.htm

    这是一个小技巧,看着.ejs的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html。

 (1) 修改 app.js 文件,及修改引擎设置文件:

  • 在app.js的头上 添加定义ejs,代码如下:
    var ejs = require('ejs');
  • 添加注册 html 模板引擎,代码如下(两种方式选其一即可):
  • app.engine('html',ejs.__express);    或者   app.engine('html', ejs.renderFile); # 也可以去掉第一步,直接 app.engine('html', require('ejs').renderFile);
  • 将模板引擎换成html,代码如下:
    app.set('view engine', 'html');

   得到的 app.js 文件如下(整个只更改了红框的三句):

        

(2)设置具体的 运行文件 .ejs 后缀全部更改为 .html 后缀。

  • 修改所有模板文件(views 文件夹里的 .ejs 后缀文件)的后缀改为 .html。结果如下红框部分:

           

好了,任务完成,可以自行实践啦~\(≧▽≦)/~!

这篇关于nodeJS学习(4)--- webstorm/...开发 NodeJS 项目-节1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/966054

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来