• Node.js, Express的服务器搭建过程的问题


    Node.js, Express的服务器搭建过程的问题

    Express : node.js 的框架,2012年BYvoid说过,它是node.js官方唯一推荐的框架

    怎么搭建项目? - 安装nodejs->npm->express - express 的问题:

    2017年, express-generator已经被独立成命令行工具了,所以要用 npm install express-generator 这样才能用express命令

    怎么启动项目?

    启动服务器可以用node app.js,因为app.js装载了express模块并且运行了必须的函数; 或者用npm start,它会读取package.json执行命令

    express框架的代码: 会出现views, config, apps目录

    可能要用到的知识(语法)

    一个网页的代码中会有一些地方需要js处理,或者处理DOM节点,要用ajax - jQuery - 框架的常见分层(比如路由、post) - express跟请求响应的方法 app.all、app.get、app.post, app.use

    有人说all,get,post是三个别名,其实是扯淡,但是三个方法也真的差不多,它只是决定了get方法和post方法访问某个url的时候对应的处理方法。但是这种设计是非常反常理而且看不出有多大意义的,不是很懂这种设计思想。一般情况下不应该是传递参数吗? 但是另外的on和addEventListener倒是明显地有问题了,这两个函数完全相同,但是名字不一样。反正都是当事件触发的时候调用了函数。

    注意中间件

    1.目前为止不是很懂中间件和框架的关系。而且也不是很清楚框架跟http请求的顺序,中间件的功能等等。

    2.如果单纯靠网上的代码是比较难实现大型系统的。 要做好模块化,尽量做好层次分级和可以配置。 大型系统的架构很复杂,可能还要有mongodb存储。

    3.在写爬虫的时候经常要等待防止被识别,可能会看到下面的方法,尽管如此这个是没什么用的,因为会大大降低效率,还不如用代理, - javascript代码的setTimeOut(可以用来循环调用自身),这个是基础js里有的函数,但是看起来也是异步回调函数。

    回调函数

    说到代理,刚刚看了语法感觉是只要在request方法里改了http头部的某个url就OK了?这个需要验证。

    在页面解析方面: cheerio跟一般的jquery的语法相似,但是它是一个缩水版本(在cheerio的官网有说),比如祖先元素必须确定(用id)

    Promise (可选外部模块) 解决回调地狱 - .then函数=>用来解决回调地狱陷阱

    其他设计缺陷

    Node.js问题在哪里? require不像C++一样会对产生的命名冲突进行检测, 当核心模块(http, fs)跟其他模块命名冲突时,优先加载核心模块 - js的调试错误在浏览器的console是可以看的

    visual studio code

    在Visual Studio Code中是可以安装Node.js的插件的。好处跟其他的语言一样,在VS Code里看代码比较好看。

  • 相关阅读:
    python eval lmbda
    python函数--day14-03
    深浅拷贝--day14-02
    数据结构与算法--排序
    数据结构与算法--栈(stack)与队列(queue)
    完全背包的计数问题
    [题解] Codeforces Round #568 (Div. 2) C题题解
    [题解] Codeforces Round #640 (Div. 4) C题 题解
    数据结构——程序设计(一)单链表功能的操作与实现
    [题解] Codeforces Round #708 (Div. 2) C1 题解报告
  • 原文地址:https://www.cnblogs.com/wangzming/p/6953433.html
Copyright © 2020-2023  润新知