CDNJS/Nuxtで構築された新しいCDNJS Webサイトの本拠地であるCDNJS/Static-Websiteリポジトリへようこそ。
このWebサイトはCDNJS APIに完全に依存して動作するため、サイトを提供するためのリソース使用量が非常に少なくなり、使用されるデータを更新するためのアプリロジックが限られています(サイトマップのみを更新する必要があり、他のすべてはページをロードするとAPI呼び出しを使用します)。
このプロジェクトはnode.jsで実行されますこのプロジェクトの.NVMRCファイルに定義された要件と一致するバージョンがインストールされていることを確認してください。
このプロジェクトには、依存関係ロックファイルが含まれています。これは、プロジェクトのすべてのインストールが一貫性のために同じバージョンの依存関係を使用していることを保証するために使用されます。
実行して、このロックファイルに続いてノード依存関係をインストールできます。
npm ci依存関係がインストールされると、ウェブサイトは開発モードで実行する準備ができています。開発モードでNUXTを開始するには(カスタムサーバーなし)、実行します。
npm run devnpm run devを実行する前に、グローバルNPMパッケージを追加して、 'NODE_ENV' is not recognized as an internal or external command 。
npm install -g win-node-envこのWebサイトはNUXTを使用して構築されており、Webpackに依存して、サイトをレンダリングして対話性を提供するために使用されるクライアント側のバンドルを生成します。このため、Webpackのアナライザーを使用して、最終的なバンドルのサイズに貢献しているものをよりよく理解できます。
アナライザーを実行するには、次のパッケージスクリプトを使用します。
npm run dev:analyze開発中のサイトを操作する場合、 npm run devまたはnpm run dev:analyzeを使用する場合、 SITE_HOST Environment変数は自動的にhttp://localhost:3000/に設定されます。
このサイトをnpm run buildおよびnpm run start Scriptsを使用して生産に展開する場合、 SITE_HOST環境変数を設定する必要があり、サイトがホストされる場所の標準ベースである必要があります。私たちのための制作では、これはhttps://cdnjs.com/に設定されています。
サイトの展開にGoogleアナリティクスを有効にするには、 GA_ID環境変数を設定する必要があります。これは、 UA-xxxxxxxxx-xの形式で、あなたのプロパティの一意のGoogleアナリティクスIDに設定する必要があります。
Google Analyticsは@nuxtjs/google-analyticsモジュールを使用してサイトにバンドルされています。環境変数が指定されていない場合、Googleアナリティクスは展開にバンドルされません。
基本的なSentryエラーロギングを有効にするには、 SENTRY_DSN環境変数をSentryの有効なDSN URLで設定する必要があります。
生産中のエラーレポートのためのソースマップとリリーストラッキングを有効にするには、 SENTRY_ORGおよびSENTRY_PROJECT環境変数を正しいSentryプロジェクト情報と、 SENTRY_AUTH_TOKENがSentryからの有効な認証トークンに設定されている必要があります。ソースマップは、Minified、Bundled JavaScriptを使用する生産で使用されるため、SourceMapsによりSentryはソースコードのエラーがどこから発生したかを示すことができます。
デフォルトでは、ビルドプロセス中に、 robots.txtファイルがUser-agent: *をAllow: *たサイトで生成されます。サイトのよりプライベートインスタンスを持ちたい場合、または潜在的なSEO汚染を防ぎたい場合は、 ROBOTS_DISALLOW varを1に設定できます。これによりAllow: *ルールはDisallow: / 。
サイトのサイトマップ生成を有効にするには、 NODE_ENV productionに設定する必要があります。これにより、ビルド中の初期サイトマップ生成と、30分ごとにnpm run start時にサイトマップを再生するためのバックグラウンドタスクが可能になります。
さらに、 NODE_ENV=productionを行うことにより、これは、上記のrobots.txt生成スクリプトに、提供されたSITE_HOST env var。
( npm run dev:analyze 、 npm run build & npm run startの場合、 NODE_ENV自動的にproductionに設定されます)。
このウェブサイトを生産に展開するには、次の手順を実行する必要があります。
npm ciに依存関係をインストールしますnpm run buildで生産用のサイトを構築しますnpm run startでカスタムエクスプレスサーバーを起動します一部のPAASホストへの展開については、依存関係のインストールとアプリの構築が自動的に行われ、 npm run startがProcfileで定義されます。
アプリがバインドするポートを変更するには、スクリプトを実行するときにPORT環境VARを設定します。
カスタムエクスプレスサーバーは、SiteMapsの処理に使用されます。これは、NUXTのサイトマップが確実に処理するためのルートが多すぎるためです。ビルドステップ( npm run build )で初期サイトマップが生成されます。 Expressサーバーは、CDNJS APIを使用して30分ごとにこれらを再生します。 Expressの最後の世代の結果を含むログは、Webサイトの/sitemap-log.txtで利用できます。
糸くずのテストの完全なセットは、いつでも実行できます。
npm testこのリポジトリには、ESLINT構成ファイルと、アプリで使用されるJS/VUEおよびSCSSのコードベースで一貫したスタイルを確保するのに役立つSASS-LINT構成ファイルが含まれています。
これを実施するために、テストでESLINTとSASS-LINTの両方を使用します。 JavaScriptおよびVUEファイルのコードスタイルをチェックするESLINTをいつでも実行するには、以下を使用できます。
npm run test:eslintESLINTは自動固定機能も提供します。これらは次のことをコードベースに対して実行できます。
npm run test:eslint:fix同様に、SASS-LINTをいつでも実行して、実行してアプリで使用されるすべてのSCSSファイルの品質を確認できます。
npm run test:scssSass-Lint-Auto-Fixのセカンダリパッケージは、SASS-LINTによって発生したエラーの一部を自動的に修正するのに役立ちます。
npm run test:scss:fix ESLINTとSASS-LINTの両方を実行するnpm testと同様に、より短いパッケージスクリプトを使用して、両方の糸くずパッケージからの問題を自動的に修正しようとします。
npm run test:fix