歡迎來到CDNJS/static-website存儲庫,這是由CDNJS/Brand的新的CDNJS品牌提案構建的新CDNJS網站的所在地。
該網站完全依靠CDNJS API來運行,從而使資源使用非常低,以服務於該網站,並且有限的APP邏輯來更新所使用的數據(僅需要更新站點地圖,當加載頁面時,其他所有內容都會使用API調用)。
該項目在node.js上運行。請確保安裝了一個版本,該版本符合我們在此項目的.NVMRC文件中定義的要求。
此項目中包括一個依賴關係鎖定文件。這用於確保項目的所有安裝使用相同版本的依賴項以保持一致性。
您可以通過運行以下鎖定文件安裝節點依賴項:
npm ci一旦安裝了依賴項,該網站就可以在開發模式下運行。要在開發模式(沒有自定義服務器)中啟動NUXT,請運行:
npm run dev在運行npm run dev之前,添加一個全局NPM軟件包來解決'NODE_ENV' is not recognized as an internal or external command問題:
npm install -g win-node-env該網站是使用NUXT構建的,並依靠WebPack來生成用於渲染網站並提供交互性的客戶端捆綁包。因此,我們可以使用WebPack的分析儀更好地了解最終捆綁包大小的原因。
要運行分析器,請使用以下軟件包腳本:
npm run dev:analyze使用正在開發的網站時,使用npm run dev或npm run dev:analyze , SITE_HOST環境變量將自動設置為http://localhost:3000/ ,因為這是Dev腳本可以訪問網站的地方。
使用npm run build和npm run start腳本將該站點部署到生產中時,必須設置SITE_HOST環境變量,並且應該是託管該站點的規範基礎。在我們的生產中,它設置為https://cdnjs.com/ 。
要啟用Google Analytics(分析網站),您應該設置GA_ID環境變量。應將其設置為您屬性的唯一Google Analytics ID,形式為UA-xxxxxxxxx-x 。
Google Analytics(分析)使用@nuxtjs/google-analytics模塊將網站捆綁在一起。如果未指定環境變量,則不會將Google Analytics(分析)與部署捆綁在一起。
為了啟用基本的Sentry錯誤記錄,必須使用Sentry的有效DSN URL設置SENTRY_DSN環境變量。
要啟用源地圖和發布跟踪以進行生產中的錯誤報告,必須使用正確的Sentry項目信息設置SENTRY_ORG和SENTRY_PROJECT環境變量,以及將SENTRY_AUTH_TOKEN設置為Sentry的有效auth Token。源地圖用作生產中的源地圖,我們使用了縮小的捆綁的JavaScript,因此Sourcemaps允許Sentry顯示錯誤來自源代碼中的錯誤。
默認情況下,在構建過程中,將為具有User-agent: *的站點生成一個robots.txt文件: *和Allow: * 。如果您希望擁有更私人的實例或想要防止潛在的SEO污染,則可以將ROBOTS_DISALLOW env var設置為1 。這將更改Allow: * Disallow: / 。
要啟用該站點的站點地圖,必須將NODE_ENV設置為production 。這將使在構建過程中的初始站點地圖生成以及在npm run start期間(每30分鐘)再生站點地圖的背景任務。
此外,通過具有NODE_ENV=production ,這也將告訴robots.txt生成腳本,上面引用的腳本包括一個基於提供的SITE_HOST env var的SiteMap索引文件的規則。
(請注意,對於npm run dev:analyze , npm run build & npm run start , NODE_ENV將自動設置為production )。
要將本網站部署到生產中,應採取以下步驟:
npm ci安裝依賴項npm run build構建生產網站npm run start開始自定義Express服務器對於某些PAAS主機的部署,將自動完成依賴關係和構建應用程序的安裝,而npm run start在Procfile中定義。
要更改應用程序綁定到的端口,請在運行腳本時設置PORT環境VAR。
Custom Express服務器用於處理我們的站點地圖,因為我們有太多的路由NUXT的站點地圖可靠地處理。在構建步驟( npm run build )期間,將生成初始站點地圖。然後,Express Server將使用CDNJS API每30分鐘再生一次。網站上的/sitemap-log.txt可以找到包含Express上一代結果的日誌。
我們的全套覆蓋測試可以隨時進行:
npm test此存儲庫中包含的是ESLINT配置文件以及Sass-Lint配置文件,以幫助確保應用程序中使用的JS/VUE和SCSS在代碼庫中的一致樣式。
為了幫助實施這一點,我們在測試中同時使用Eslint和Sass-lint。要隨時運行ESLINT(檢查任何JavaScript和Vue文件的代碼樣式),您可以使用:
npm run test:eslintESLINT還提供自動固定功能,這些功能可以使用:
npm run test:eslint:fix同樣,可以隨時運行SASS-lint,以檢查應用程序中使用的所有SCSS文件的質量:
npm run test:scss可用於自動修復Sass-Lint提出的一些錯誤,可以通過以下方式運行:
npm run test:scss:fix與npm test同時運行Eslint&Sass-lint一樣,可以自動嘗試修復兩個裁剪軟件包中的問題,可以通過運行:可以使用:
npm run test:fix