OP編集: もし他の誰かがこれに遭遇したら: このアプリはReactアプリを作成するは、インポートをsrcフォルダ内に制限します。ただし、react-scriptsをv1.0.11にアップグレードpackage.json にアクセスすることはできます。
アプリの package.json からバージョン番号を取得しようとしています。
すでに試してみましたこれらの提案ですが、src フォルダーの外部から package.json にアクセスできないため、どれも機能しませんでした (React が原因かもしれません。私はこの分野は初めてです)。package.json を src に移動すると、ルート フォルダーからnpm install
、npm version minor
、を実行できなくなりますnpm run build
。 を使用しようとしましたprocess.env.npm_package_version
が、結果は undefined になります。
私は Jenkins を使っていますが、コミットをプッシュするようにまだ設定していません。私が思いつく唯一のアイデアは、GitLab のタグからバージョンを取得することですが、その方法がわかりません。また、リポジトリに不要な依存関係が追加されるため、代替手段を見つけたいと思っています。
編集: 私のファイル構造は次のようになります:
--> RootAppFolder
|--> build
|--> node_modules
|--> public
|--> src
|--> Components
|--> Root.js
|
|--> package.json
したがって、Root.js から package.json にアクセスするには、次の操作を行う必要があり、import packageJson from './../../package.json'
次のエラーが発生します。
./src/components/ルート.js
モジュールが見つかりません: プロジェクトの src/ ディレクトリ外にある ./../../package.json をインポートしようとしました。src/ 外の相対インポートはサポートされていません。src/ 内に移動するか、プロジェクトの node_modules/ からシンボリックリンクを追加することができます。
ベストアンサー1
package.json
これをインポートせずに解決し、create-react-app
必要:バージョン 1.1.0+作成-React-アプリ
.env
REACT_APP_VERSION=$npm_package_version
REACT_APP_NAME=$npm_package_name
index.js
console.log(`${process.env.REACT_APP_NAME} ${process.env.REACT_APP_VERSION}`)
注記:バージョン(および他の多くのnpm 設定パラメータ)にアクセスできます
注2:ファイルの変更は.env
、開発サーバーを再起動する