[解決済み] React Reduxでpackage.jsonからバージョン番号を取得する(create-react-app)
質問
OP EDIT: もし誰かがこれに出くわしたら: このアプリは create-react-app を使用して作成されたもので、インポートは 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
を使ってみましたが、結果は未定義です。
Jenkinsを使っていて、まだコミットをプッシュするように設定していないのですが、唯一のアイデアはGitLabのタグからバージョンを取得することですが、その方法が全くわからず、レポに不必要な依存関係を追加してしまうので、ぜひ代替案を見つけたいと思います。
EDITです。 私のファイル構造は次のようなものです。
--> RootAppFolder
|--> build
|--> node_modules
|--> public
|--> src
|--> Components
|--> Root.js
|
|--> package.json
というわけで、Root.jsからpackage.jsonにアクセスするには
import packageJson from './../../package.json'
と記述すると、以下のようなエラーになります。
./src/components/Root.js
モジュールが見つかりませんでした。インポートしようとしたのは ./../../package.json をインポートしようとしましたが、これはプロジェクトの src/ ディレクトリの外にあります。 ディレクトリの外側にあります。src/ ディレクトリの外への相対的なインポートはサポートされていません。以下の方法があります。 src/ 内に移動するか、プロジェクトの node_modules/ からシンボリックリンクを追加してください。
どのように解決するのですか?
あなたの編集から、私は試してみることをお勧めします。
import packageJson from '/package.json';
シンボリックリンクを作成してみるのもよいでしょう。
# From the project root.
cd src; ln -s ../package.json package.alias.json
srcディレクトリの内容をリストアップすると、シンボリックリンクが表示されます。
ls
#=> package.alias.json -> ../package.json
を追加することで
.alias
を追加することで、他の人や将来の自分がこれを見たときに、quot;magic" を減らすことができます。さらに、テキストエディタが両者を区別してくれるようになります。後で私に感謝することになるでしょう。ただ、JSコードを更新して
./package.alias.json
の代わりに
./package.json
.
また、この質問にも目を通してください。 create-react-appのインポートがsrcディレクトリの外にある場合の制限について
関連
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] node.js - リクエスト - "emitter.setMaxListeners() "はどのように?
-
[解決済み] DynamoDBで一括削除するにはどうしたらいいですか?
-
[解決済み] create-react-app のインポートが src ディレクトリの外にある場合の制限について
-
[解決済み] Jestを使用して1つのファイルをテストするにはどうすればよいですか?
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] なぜ "npm install" は package-lock.json を書き換えてしまうのですか?
-
[解決済み] nodejsのコードでpackage.jsonからバージョンを取得する方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】ExpressJSとMeteorJSの比較【終了しました
-
[解決済み】エラー TRK0005: 位置特定に失敗しました。"CL.exe"
-
[解決済み】NPMインストールエラー:解析中の予期せぬJSON入力の終了 '...nt-webpack-plugin": "0'' 付近。
-
[解決済み】AWS lambda function エラー - モジュール 'index' をインポートできません。エラー
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] DynamoDBで一括削除するにはどうしたらいいですか?
-
[解決済み] "致命的なエラーです。grunt "コマンドを実行すると、"Unable to find local grunt. "と表示されます。
-
[解決済み] create-react-app のインポートが src ディレクトリの外にある場合の制限について
-
[解決済み] nodejsのコードでpackage.jsonからバージョンを取得する方法はありますか?