一文詳解如何使用node執(zhí)行js文件
知識回顧
I/O (Input/output)
I/O操作指的是對磁盤的讀寫操作
Node
Node
- Node是對ES標(biāo)準(zhǔn)一個實現(xiàn),Node也是一個JS引擎
- 通過Node可以使js代碼在服務(wù)器端執(zhí)行
- Node僅僅對ES標(biāo)準(zhǔn)進(jìn)行了實現(xiàn),所以在Node中不包含DOM和 BOM
- Node中可以使用所有的內(nèi)建對象
string Number Boolean Math Date RegExp Function object Array
而BOM和DOM都不能使用,但是可以使用console也可以使用定時器(setTimeout () setInterval() )
Node可以在后臺來編寫服務(wù)器
Node編寫服務(wù)器都是單線程的服務(wù)器
進(jìn)程
進(jìn)程就是一個一個的工作計劃(工廠中的車間)
線程
線程是計算機(jī)最小的運算單位(工廠中的工人),線程是千活的
傳統(tǒng)的服務(wù)器都是多線程的
每進(jìn)來一個請求,就創(chuàng)建一個線程去處理請求
Node處理請求時是單線程,但是在后臺擁有一個I/O線程池
CommentJS規(guī)范
ECMAScript標(biāo)準(zhǔn)規(guī)范
- 沒有模塊系統(tǒng)
- 標(biāo)準(zhǔn)庫較少
- 沒有標(biāo)準(zhǔn)接口
- 缺乏管理系統(tǒng)
模塊化
- 如果程序設(shè)計的規(guī)模達(dá)到了一定程度,則必須對其進(jìn)行模塊化。
- 模塊化可以有多種形式,但至少應(yīng)該提供能夠?qū)⒋a分割為多個源文件的機(jī)制。
- CommonJS的模塊功能可以幫我們解決該問題。
CommonJS規(guī)范
- CommonJS規(guī)范的提出,主要是為了彌補當(dāng)前JavaScript沒有標(biāo)崔的缺陷。
- CommonJS規(guī)范為JS指定了一個美好的愿景,希望JS能夠在任何地方運行。
CommonJS對模塊的定義十分簡單
模塊引用
模塊定義
模塊標(biāo)識
模塊化
- 在Node中,一個js文件就是一個模塊
- 在Node中,每一個js文件中的js代碼就是獨立運行在函數(shù)中,而不是全局作用域,就相當(dāng)于一個閉包,所以一個模塊的變量和函數(shù)在其他模塊中無法訪問
就相當(dāng)于下圖,閉包中的變量和函數(shù)不能被外面的函數(shù)或者操作訪問
如果想對外部的模塊訪問到,可以通過exports來向外部暴露變量和方法
向外部暴露屬性或方法
exports.x=20; exports.y=100; exports.fn=function(){ }
引入其他的模塊
在node中,通過require()函數(shù)來引入外部的模塊,require()可以傳遞一個文件的路徑作為參數(shù),node將會自動根據(jù)該路徑來引入外部模塊;如果使用相對路徑,必須用.或者..開頭
使用require()引入模塊以后,該函數(shù)會返回一個對象,這個對象代表的是引入的模塊
總結(jié)
到此這篇關(guān)于如何使用node執(zhí)行js文件的文章就介紹到這了,更多相關(guān)node執(zhí)行js文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pycharm配置Node.js運行js代碼詳細(xì)過程
在PyCharm中寫JavaScript代碼并進(jìn)行調(diào)試是非常方便的,但是有些用戶可能對如何在PyCharm中準(zhǔn)確地運行JavaScript代碼感到困惑,這篇文章主要給大家介紹了關(guān)于Pycharm配置Node.js運行js代碼的相關(guān)資料,需要的朋友可以參考下2023-11-11nodejs和C語言插入mysql數(shù)據(jù)庫亂碼問題的解決方法
這篇文章主要介紹了nodejs和C語言插入mysql數(shù)據(jù)庫亂碼問題,需要的朋友可以參考下2017-04-04解決npm?install版本不匹配問題:?npm?ERR!?code?ETARGET?npm?ERR!?
這篇文章主要介紹了如何解決npm?install版本不匹配問題:?npm?ERR!?code?ETARGET?npm?ERR!?notarget?No?matching?version?found?for,文中給出了詳細(xì)的解決方法,需要的朋友可以參考下2024-02-02node實現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項目實踐
本文主要介紹了node實現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07pm2發(fā)布node配置文件ecosystem.json詳解
這篇文章主要介紹了pm2發(fā)布node配置文件ecosystem.json詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05