{"id":1863,"date":"2019-05-07T19:03:59","date_gmt":"2019-05-07T10:03:59","guid":{"rendered":"https:\/\/lovelinux.mydns.jp\/?p=1863"},"modified":"2019-05-07T19:03:59","modified_gmt":"2019-05-07T10:03:59","slug":"create-react-app-%e3%81%a7%e4%bd%9c%e3%81%a3%e3%81%9f%e7%92%b0%e5%a2%83%e3%81%a7%e3%80%81productionstagingxxx%e3%81%aa%e3%81%a9%e3%82%92-process-env%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e5%88%87","status":"publish","type":"post","link":"https:\/\/lovelinux.mydns.jp\/?p=1863","title":{"rendered":"create-react-app \u3067\u4f5c\u3063\u305f\u74b0\u5883\u3067\u3001production\/staging\/xxx\u306a\u3069\u3092 process.env\u3092\u4f7f\u3063\u3066\u5207\u308a\u66ff\u3048\u308b"},"content":{"rendered":"<p>create-react-app\u3057\u305f\u74b0\u5883\u3067\u306f\u3001start\/build\/test \u306e\u74b0\u5883\u306f\u3067\u304d\u3066\u3001\u30d3\u30eb\u30c9\u3059\u308b\u3068\u304d\u306b<br \/>\n\u5fc5\u8981\u306a\u74b0\u5883\u5909\u6570\u304c process.env.NODE_ENV \u306b\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3059\u304c\u30fb\u30fb\u30fb<\/p>\n<p>production\u74b0\u5883\u306e\u3068\u304d\u3001staging\u306e\u3068\u304d\u3000\u3068\u5207\u308a\u66ff\u3048\u305f\u3044\u3068\u304d\u306b\u3001<br \/>\nprocess.env.NODE_ENV\u3067\u306f\u3046\u307e\u304f\u884c\u304d\u307e\u305b\u3093\u3002<\/p>\n<p>create-react-app\u3057\u305f\u74b0\u5883\u3067\u306f\u3001<\/p>\n<p>\u300cREACT_APP_xxxxxxx\u300d \u3068\u3044\u3046\u74b0\u5883\u5909\u6570\u3092\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff01<\/p>\n<p>\u306a\u306e\u3067\u3001\u74b0\u5883\u5909\u6570\u306b<br \/>\nREACT_APP_CURR_ENV \u3068\u3044\u3046\u5909\u6570\u3092\u7528\u610f\u3057\u307e\u3059\u3002<\/p>\n<p>\u3067\u3001\u74b0\u5883\u6bce\u306b\u9055\u3046\u8a2d\u5b9a\u306a\u3069\u306f\u3001\u3054\u304f\u50c5\u304b\u3060\u3068\u601d\u3046\u306e\u3067\u3001\u79c1\u306e\u5834\u5408\u3053\u3093\u306ajavascript\u3092\u4f5c\u3063\u3066\u5bfe\u5fdc\u3057\u3066\u307e\u3059\u3002<\/p>\n<p>[bash]<br \/>\nlet const_HOST_ADDR;<br \/>\nlet const_WS_HOST_ADDR;<\/p>\n<p>if (process.env.REACT_APP_CURR_ENV === &#8220;production&#8221; ){<br \/>\n  const_HOST_ADDR = &#8220;https:\/\/myapp.jp&#8221;;<br \/>\n  const_WS_HOST_ADDR = &#8220;ws:\/\/myapp.jp&#8221;;<br \/>\n}<br \/>\nelse if (process.env.REACT_APP_CURR_ENV === &#8220;staging&#8221; ){<br \/>\n  const_HOST_ADDR = &#8220;https:\/\/stg.myapp.jp&#8221;;<br \/>\n  const_WS_HOST_ADDR = &#8220;ws:\/\/stg.myapp.jp&#8221;;<br \/>\n}<br \/>\nelse {<br \/>\n  const_HOST_ADDR = &#8220;http:\/\/localhost:4000&#8221;;<br \/>\n  const_WS_HOST_ADDR = &#8220;ws:\/\/localhost:4000&#8221;;<br \/>\n}<\/p>\n<p>export const HOST_ADDR = const_HOST_ADDR;<br \/>\nexport const WS_HOST_ADDR = const_WS_HOST_ADDR;<\/p>\n<p>[\/bash]<\/p>\n<p>package.json\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6\u3057\u307e\u3059\u3002<\/p>\n<p>[bash]<\/p>\n<p>{<br \/>\n  &#8220;name&#8221;: &#8220;front&#8221;,<br \/>\n  &#8220;version&#8221;: &#8220;1.0.0&#8221;,<br \/>\n  &#8220;description&#8221;: &#8220;&#8221;,<br \/>\n  &#8220;main&#8221;: &#8220;index.js&#8221;,<br \/>\n  &#8220;scripts&#8221;: {<br \/>\n    &#8220;start&#8221;: &#8220;react-scripts start&#8221;,<br \/>\n    &#8220;build&#8221;: &#8220;REACT_APP_CURR_ENV=production react-scripts build&#8221;,<br \/>\n    &#8220;staging&#8221;: &#8220;REACT_APP_CURR_ENV=staging react-scripts build&#8221;,<br \/>\n    &#8220;test&#8221;: &#8220;react-scripts test&#8221;,<br \/>\n    &#8220;eject&#8221;: &#8220;react-scripts eject&#8221;<br \/>\n  },<br \/>\n\u3000\u3000\u3000\u30fb<br \/>\n\u3000\u3000\u3000\u30fb<br \/>\n\u3000\u3000\u3000\u4ee5\u4e0b\u7565<br \/>\n\u3000\u3000\u3000\u30fb<br \/>\n\u3000\u3000\u3000\u30fb<\/p>\n<p>[\/bash]<\/p>\n<p>production\u74b0\u5883\u306e\u30d3\u30eb\u30c9\u3092\u884c\u3044\u305f\u3044\u3068\u304d\u306f<\/p>\n<p>[bash]<br \/>\n$ npm run build<br \/>\n[\/bash]<\/p>\n<p>staging\u74b0\u5883\u306e\u30d3\u30eb\u30c9\u3092\u884c\u3044\u305f\u3044\u3068\u304d\u306f<\/p>\n<p>[bash]<br \/>\n$ npm run staging<br \/>\n[\/bash]<\/p>\n<p>\u3053\u308c\u3067\u3001\u3081\u3067\u305f\u3057\u3001\u3081\u3067\u305f\u3057\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>create-react-app\u3057\u305f\u74b0\u5883\u3067\u306f\u3001start\/build\/test \u306e\u74b0\u5883\u306f\u3067\u304d\u3066\u3001\u30d3\u30eb\u30c9\u3059\u308b\u3068\u304d\u306b \u5fc5\u8981\u306a\u74b0\u5883\u5909\u6570\u304c process.env.NODE_ENV \u306b\u30bb\u30c3\u30c8\u3055\u308c\u307e\u3059\u304c\u30fb\u30fb\u30fb production\u74b0\u5883\u306e\u3068\u304d\u3001staging\u306e\u3068\u304d\u3000\u3068\u5207\u308a\u66ff\u3048\u305f\u3044\u3068\u304d\u306b\u3001 process.env.NODE_ENV\u3067\u306f\u3046\u307e\u304f\u884c\u304d\u307e\u305b\u3093\u3002 create-react-app\u3057\u305f\u74b0\u5883\u3067\u306f\u3001 \u300cREACT_APP_xxxxxxx\u300d \u3068\u3044\u3046\u74b0\u5883\u5909\u6570\u3092\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff01 \u306a\u306e\u3067\u3001\u74b0\u5883\u5909\u6570\u306b REACT_APP_CURR_ENV \u3068\u3044\u3046\u5909\u6570\u3092\u7528\u610f\u3057\u307e\u3059\u3002 \u3067\u3001\u74b0\u5883\u6bce\u306b\u9055\u3046\u8a2d\u5b9a\u306a\u3069\u306f\u3001\u3054\u304f\u50c5\u304b\u3060\u3068\u601d\u3046\u306e\u3067\u3001\u79c1\u306e\u5834\u5408\u3053\u3093\u306ajavascript\u3092\u4f5c\u3063\u3066\u5bfe\u5fdc\u3057\u3066\u307e\u3059\u3002 [bash] let const_HOST_ADDR; let const_WS_HOST_ADDR; if (process.env.REACT_APP_CURR_ENV === &#8220;production&#8221; ){ const_HOST_ADDR = &#8220;https:\/\/myapp.jp&#8221;; const_WS_HOST_ADDR = &#8220;ws:\/\/myapp.jp&#8221;; } else if (process.env.REACT_APP_CURR_ENV === &#8220;staging&#8221; ){ const_HOST_ADDR = &#8220;https:\/\/stg.myapp.jp&#8221;; const_WS_HOST_ADDR = &#8220;ws:\/\/stg.myapp.jp&#8221;; } else { const_HOST_ADDR = &#8220;http:\/\/localhost:4000&#8221;; const_WS_HOST_ADDR = &#8220;ws:\/\/localhost:4000&#8221;; } export const HOST_ADDR = const_HOST_ADDR; export const WS_HOST_ADDR = const_WS_HOST_ADDR; [\/bash] package.json\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u7de8\u96c6\u3057\u307e\u3059\u3002 [bash] { &#8220;name&#8221;: &#8220;front&#8221;, &#8220;version&#8221;: &#8220;1.0.0&#8221;, &#8220;description&#8221;: &#8220;&#8221;, &#8220;main&#8221;: &#8220;index.js&#8221;, &#8220;scripts&#8221;: { &#8220;start&#8221;: &#8220;react-scripts start&#8221;, &#8220;build&#8221;: &#8220;REACT_APP_CURR_ENV=production react-scripts build&#8221;, &#8220;staging&#8221;: &#8220;REACT_APP_CURR_ENV=staging react-scripts build&#8221;, &#8220;test&#8221;: &#8220;react-scripts test&#8221;, &#8220;eject&#8221;: &#8220;react-scripts eject&#8221; }, \u3000\u3000\u3000\u30fb \u3000\u3000\u3000\u30fb \u3000\u3000\u3000\u4ee5\u4e0b\u7565 \u3000\u3000\u3000\u30fb \u3000\u3000\u3000\u30fb [\/bash] production\u74b0\u5883\u306e\u30d3\u30eb\u30c9\u3092\u884c\u3044\u305f\u3044\u3068\u304d\u306f [bash] $ npm run build [\/bash] staging\u74b0\u5883\u306e\u30d3\u30eb\u30c9\u3092\u884c\u3044\u305f\u3044\u3068\u304d\u306f [bash] $ npm run staging [\/bash] \u3053\u308c\u3067\u3001\u3081\u3067\u305f\u3057\u3001\u3081\u3067\u305f\u3057\u3002<\/p>\n","protected":false},"author":1,"featured_media":1864,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[77],"tags":[86],"class_list":{"0":"post-1863","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-react","8":"tag-react"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts\/1863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1863"}],"version-history":[{"count":1,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts\/1863\/revisions"}],"predecessor-version":[{"id":1865,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/posts\/1863\/revisions\/1865"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=\/wp\/v2\/media\/1864"}],"wp:attachment":[{"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lovelinux.mydns.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}