{"id":3720,"date":"2021-03-15T14:46:32","date_gmt":"2021-03-15T05:46:32","guid":{"rendered":"https:\/\/www.agtech.co.jp\/blog\/?p=3720"},"modified":"2022-08-02T10:34:19","modified_gmt":"2022-08-02T01:34:19","slug":"react-native-application","status":"publish","type":"post","link":"https:\/\/www.agtech.co.jp\/blog\/2021\/03\/react-native-application\/","title":{"rendered":"React Native \u30a2\u30d7\u30ea\u3092\u4f5c\u6210\u3057\u305f\u5834\u5408\u3001\u96e3\u8aad\u5316\u3059\u308b\u3053\u3068\u3092\u5fd8\u308c\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002"},"content":{"rendered":"<p style=\"text-align:center\"><img loading=\"lazy\" src=\"https:\/\/www.agtech.co.jp\/blog\/wp-content\/uploads\/2021\/03\/securityGFVL4065_TP_V4.jpg\" alt=\"\" width=\"500\" height=\"333\" class=\"alignnone size-full wp-image-3721\" srcset=\"https:\/\/www.agtech.co.jp\/blog\/wp-content\/uploads\/2021\/03\/securityGFVL4065_TP_V4.jpg 800w, https:\/\/www.agtech.co.jp\/blog\/wp-content\/uploads\/2021\/03\/securityGFVL4065_TP_V4-300x200.jpg 300w, https:\/\/www.agtech.co.jp\/blog\/wp-content\/uploads\/2021\/03\/securityGFVL4065_TP_V4-768x512.jpg 768w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\r\n\r\n\r\n<p>React \u306f\u3001Facebook \u3068\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u3088\u3063\u3066\u958b\u767a\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u69cb\u7bc9\u306e\u305f\u3081\u306eJavaScript \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3001React \u3092\u30d9\u30fc\u30b9\u3068\u3057\u305f\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068\u3057\u3066 React Native \u304c\u5229\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\r\n\r\n\r\n<p><a href=\"https:\/\/www.npmtrends.com\/react-vs-@angular\/core-vs-vue\" target=\"_blank\" rel=\"noopener\">npm trends<\/a> \u306b\u3088\u308b\u3068\u3001\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u5206\u91ce\u3067\u306f\u3001React \u304c\u5727\u5012\u7684\u306b\u4eba\u6c17\u3092\u8a87\u3063\u3066\u3044\u307e\u3059\u3002React \u306b\u6163\u308c\u3066\u3044\u308b Web \u30a8\u30f3\u30b8\u30cb\u30a2\u3067\u3042\u308c\u3070\u3001\u307b\u3068\u3093\u3069\u5b66\u7fd2\u30b3\u30b9\u30c8\u3092\u639b\u3051\u305a\u306b\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u304c\u4f5c\u6210\u3067\u304d\u308b\u305f\u3081\u3001\u30e2\u30d0\u30a4\u30eb\u5206\u91ce\u3067\u3082\u4eba\u6c17\u306e\u3042\u308b\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e 1 \u3064\u3067\u3059\u3002<\/p>\r\n\r\n\r\n<p>\u4eca\u56de\u306f\u3001React Native \u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u9762\u3067\u306e\u5371\u967a\u6027\u3068\u3001\u96e3\u8aad\u5316\u30c4\u30fc\u30eb\u300cJSDefender\u300d\u3092 React Native \u306e\u30d3\u30eb\u30c9\u30d7\u30ed\u30bb\u30b9\u306b\u7d71\u5408\u3057\u3001\u30a2\u30d7\u30ea\u3092\u4fdd\u8b77\u3059\u308b\u65b9\u6cd5\u3092\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<h2>React Native \u30a2\u30d7\u30ea\u306e\u9006\u30b3\u30f3\u30d1\u30a4\u30eb\uff08\u30c7\u30b3\u30f3\u30d1\u30a4\u30eb\uff09\u306f\u53ef\u80fd\u304b\uff1f<\/h2>\r\n<p>\u30e2\u30d0\u30a4\u30eb\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30a2\u30d7\u30ea\u304c\u3001\u9006\u30b3\u30f3\u30d1\u30a4\u30eb\u53ef\u80fd\u3068\u3044\u3046\u8a71\u306f\u3054\u5b58\u3058\u3060\u3068\u601d\u3044\u307e\u3059\u3002\u9006\u30b3\u30f3\u30d1\u30a4\u30eb +android +iOS \u306a\u3069\u3067\u691c\u7d22\u3059\u308c\u3070\u3001\u4ed5\u7d44\u307f\u3084\u624b\u6cd5\u304c\u5206\u304b\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\r\n\r\n\r\n<p>\u3057\u304b\u3057\u3001React Native \u306e\u5834\u5408\u306f\u3069\u3046\u3067\u3057\u3087\u3046\u304b\u3002\u7d50\u8ad6\u304b\u3089\u8a00\u3046\u3068\u3001 React Native \u306f\u30d3\u30eb\u30c9\u6642\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u3066\u304a\u3089\u305a\u3001\u5b9f\u884c\u30d5\u30a1\u30a4\u30eb\u5185\u306b JavaScript \u306e\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u89b3\u70b9\u3067\u306f\u3001\u30cd\u30a4\u30c6\u30a3\u30d6\u306e JavaScript \u30a2\u30d7\u30ea\u3068\u540c\u69d8\u306e\u6271\u3044\u3092\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002\u5909\u6570\u306a\u3069\u306b\u6a5f\u5bc6\u30c7\u30fc\u30bf\u304c\u3042\u308b\u5834\u5408\u3001\u305d\u308c\u3092\u4fdd\u8b77\u3057\u306a\u3044\u3068\u60aa\u7528\u3055\u308c\u3066\u3057\u307e\u3046\u5371\u967a\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<h2>React Native \u3092\u96e3\u8aad\u5316\u3059\u308b\u65b9\u6cd5<\/h2>\r\n\r\n<p>React Native \u30a2\u30d7\u30ea\u3092\u96e3\u8aad\u5316\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u30b9\u30c6\u30c3\u30d7\u3092\u8e0f\u307f\u307e\u3059\u3002<\/p>\r\n\r\n<ol>\r\n\t<li><a href=\"#step1\">React Native \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4f5c\u6210<\/a><\/a><\/li>\r\n\t<li><a href=\"#step2\">\u96e3\u8aad\u5316\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/a><\/li>\r\n\t<li><a href=\"#step3\">JSDefender \u306e\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210<\/a><\/li>\r\n\t<li><a href=\"#step4\">\u30d3\u30eb\u30c9\u30d7\u30ed\u30bb\u30b9\u3078\u306e\u7d71\u5408<\/a><\/li>\r\n\t<li><a href=\"#step5\">\u30d3\u30eb\u30c9\u30b3\u30de\u30f3\u30c9\u306e\u5b9f\u884c<\/a><\/li>\r\n<\/ol>\r\n\r\n<h3 id=\"step1\">1. React Native \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4f5c\u6210<\/h3>\r\n\r\n<p>React Native\u3092 \u4f7f\u7528\u3057\u3066\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u3092\u4f5c\u6210\u3059\u308b\u306b\u306f\u3001Expo \u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u3068 React Native CLI \u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u304c\u3042\u308a\u307e\u3059\u3002JSDefender \u3092 React Native \u306e\u30d3\u30eb\u30c9\u30d7\u30ed\u30bb\u30b9\u306b\u7d71\u5408\u3059\u308b\u306b\u306f\u3001React Native CLI \u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u30d0\u30f3\u30c9\u30eb\u306e\u5f62\u5f0f\u306f\u3001\u4ee5\u4e0b\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<ul>\r\n\t<li>React Native \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\uff1a0.59.0 \u4ee5\u964d<\/li>\r\n\t<li>\u30d0\u30f3\u30c9\u30eb\u306e\u5f62\u5f0f\uff1a\u30d7\u30ec\u30fc\u30f3 \u30d0\u30f3\u30c9\u30eb<\/li>\r\n<\/ul>\r\n\r\n<p>\u305f\u3060\u3057\u3001Expo \u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3067\u3082\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30a4\u30b8\u30a7\u30af\u30c8\u3059\u308b\u3053\u3068\u3067 JSDefender \u3092\u7d71\u5408\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f Expo \u306b\u3064\u3044\u3066\u306f\u8aac\u660e\u3057\u307e\u305b\u3093\u304c\u3001JSDefender \u306e\u5c0e\u5165\u3092\u691c\u8a0e\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u3001<a href=\"\/contact\/\" target=\"_blank\" rel=\"noopener\">\u304a\u554f\u3044\u5408\u308f\u305b\u30d5\u30a9\u30fc\u30e0<\/a>\u3088\u308a\u3054\u9023\u7d61\u304f\u3060\u3055\u3044\u3002<\/p>\r\n\r\n<h3 id=\"step2\">2. \u96e3\u8aad\u5316\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\r\n\r\n<p>JSDefender \u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001npm \u306b\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u306e\u3067\u3001\u500b\u5225\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3044\u305f\u3060\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u7d42\u308f\u308a\u307e\u3057\u305f\u3089\u3001\u30d1\u30c3\u30b1\u30fc\u30b8 \u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\r\n\r\n\r\n<p>\u3053\u3053\u3067\u306f\u3001\u73fe\u6642\u70b9\u3067\u306e\u6700\u65b0\u7248 2.3.0 \u3092\u5229\u7528\u3057\u307e\u3059\u3002React Native \u3092\u96e3\u8aad\u5316\u3059\u308b\u305f\u3081\u306b\u306f\u3001core \u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u52a0\u3048\u3066\u3001metro \u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<table style=\"width: 100%; background-color: #000000;\">\r\n\t<tr>\r\n\t\t<td><span style=\"color: #ffffff;\">\r\n\t\t\tnpm install <\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea>\/preemptive-jsdefender-core-2.3.0.tgz &#8211;save-dev<br \/>\r\n\t\t\tnpm install <\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea>\/preemptive-jsdefender-metro-plugin-2.3.0.tgz &#8211;save-dev\r\n\t\t<\/span><\/td>\r\n\t<\/tr> \r\n<\/table>\r\n\r\n\r\n<p>Yarn \u306e\u5834\u5408\u306f\u4ee5\u4e0b\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<table style=\"width: 100%; background-color: #000000;\">\r\n\t<tr>\r\n\t\t<td><span style=\"color: #ffffff;\">\r\n\t\t\tyarn add <\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea>\/preemptive-jsdefender-core-2.3.0.tgz &#8211;save-dev<br \/>\r\n\t\t\tyarn add <\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea>\/preemptive-jsdefender-metro-plugin-2.3.0.tgz &#8211;save-dev\r\n\t\t<\/span><\/td>\r\n\t<\/tr>\r\n<\/table>\r\n\r\n<h3 id=\"step3\">3. JSDefender \u306e\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210<\/h3>\r\n\r\n<p>JSDefender \u306e\u5168\u3066\u306e\u5909\u63db\u69cb\u6210\u306f\u3001jsdefender.config.json \u3068\u3044\u3046\u5358\u4e00\u306e\u30d5\u30a1\u30a4\u30eb\u5185\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002React Native \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30eb\u30fc\u30c8\u30d5\u30a9\u30eb\u30c0\u30fc\u306b\u3001jsdefender.config.json \u3068\u3044\u3046\u540d\u524d\u306e\u65b0\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<p>\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u306e\u8a18\u8ff0\u65b9\u6cd5\u306f\u3001\u4ee5\u4e0b\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u3092\u53c2\u7167\u304f\u3060\u3055\u3044\u3002<br>\r\n<a href=\"https:\/\/www.preemptive.com\/jsdefender\/userguide\/ja\/cli_config.html\" target=\"_blank\" rel=\"noopener\">https:\/\/www.preemptive.com\/jsdefender\/userguide\/ja\/cli_config.html<\/a><\/p>\r\n\r\n\r\n<p>\u4f8b\u3068\u3057\u3066\u3001jsdefender.config.json \u30d5\u30a1\u30a4\u30eb\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<table style=\"width: 100%; background-color: #000000;\">\r\n\t<tr>\r\n\t\t<td><span style=\"color: #ffffff;\">\r\n\t\t\t{<br \/>\r\n\t\t\t&nbsp;&nbsp;&#34;settings&#34;: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;booleanLiterals&#34;: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;randomize&#34;: true<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;controlFlow&#34;: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;randomize&#34;: true<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;exprSequence&#34;: true,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;functionReorder&#34;: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;randomize&#34;: true<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;integerLiterals&#34;: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;randomize&#34;: true,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;radix&#34;: &#34;octal&#34;,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;lower&#34;: 0,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;upper&#34;: 65535<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;localDeclarations&#34;: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;nameMangling&#34;: &#34;base52&#34;<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;propertyIndirection&#34;: true,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;selfDefending&#34;: true,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;stringLiterals&#34;: true,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&#34;propertySparsing&#34;: true<br \/>\r\n\t\t\t&nbsp;&nbsp;}<br \/>\r\n\t\t\t}\r\n\t\t<\/span><\/td>\r\n\t<\/tr>\r\n<\/table>\r\n\r\n<h3 id=\"step4\">4. \u30d3\u30eb\u30c9\u30d7\u30ed\u30bb\u30b9\u3078\u306e\u7d71\u5408<\/h3>\r\n\r\n<p>React Native \u306f Metro \u3068\u547c\u3070\u308c\u308b\u72ec\u81ea\u306e\u30d0\u30f3\u30c9\u30e9\u30fc\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001JSDefender \u306e React Native \u7d71\u5408\u306f Metro \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4ecb\u3057\u3066\u884c\u308f\u308c\u307e\u3059\u3002\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30eb\u30fc\u30c8\u30d5\u30a9\u30eb\u30c0\u30fc\u306b metro.config.js \u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u6b21\u306b\u3001\u30d5\u30a1\u30a4\u30eb\u306b\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<table style=\"width: 100%; background-color: #000000;\">\r\n\t<tr>\r\n\t\t<td><span style=\"color: #ffffff;\">\r\n\t\t\tconst jsdefenderMetroPlugin = require(&#34;@preemptive\/jsdefender-metro-plugin&#34;)(<br \/>\r\n\t\t\t&nbsp;&nbsp;\/\/ &#8211;JSDefender configuration<br \/>\r\n\t\t\t&nbsp;&nbsp;{<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;configurationFile: &#34;jsdefender.config.json&#34;,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;quietMode: false,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;protectUserModulesOnly: false,<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;enableInDevelopmentMode: false,<br \/>\r\n\t\t\t<br \/>\r\n\t\t\t&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;\/\/ &#8211;Metro configuration<br \/>\r\n\t\t\t&nbsp;&nbsp;{<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;resolver: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/* resolver Metro options *\/<br \/>\r\n\t\t\t&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;transformer: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/* transformer Metro options *\/<br \/>\r\n\t\t\t&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;serializer: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/* serializer Metro options *\/<br \/>\r\n\t\t\t&nbsp;&nbsp;},<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;server: {<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/* server Metro options *\/<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>\r\n\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;\/* general Metro options *\/<br \/>\r\n\t\t\t&nbsp;&nbsp;}<br \/>\r\n\t\t\t)<br \/>\r\n\t\t\t<br \/>\r\n\t\t\tmodule.exports = jsdefenderMetroPlugin;\r\n\t\t<\/span><\/td>\r\n\t<\/tr>\r\n<\/table>\r\n\r\n\r\n<p>\u5404\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u8aac\u660e\u306f\u7701\u7565\u3057\u307e\u3059\u304c\u3001\u307b\u3068\u3093\u3069\u306e\u30b1\u30fc\u30b9\u306b\u304a\u3044\u3066\u3053\u306e\u8a2d\u5b9a\u3067\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002<br>\r\n\u3053\u308c\u3067\u3001\u30a2\u30d7\u30ea\u3092\u4fdd\u8b77\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306e\u7d71\u5408\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002<\/p>\r\n \r\n<h3 id=\"step5\">5. \u30d3\u30eb\u30c9\u30b3\u30de\u30f3\u30c9\u306e\u5b9f\u884c<\/h3>\r\n\r\n<p>JSDefender Metro \u30d7\u30e9\u30b0\u30a4\u30f3\u306f Metro \u30d0\u30f3\u30c9\u30e9\u30fc\u30b5\u30fc\u30d0\u30fc\u3067\u306f\u6a5f\u80fd\u3057\u307e\u305b\u3093\u3002<br>\r\n\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001Metro \u30d0\u30f3\u30c9\u30e9\u30fc\u30b5\u30fc\u30d0\u30fc\u3092\u4f7f\u7528\u3057\u306a\u3044\u305f\u3081\u3001\u6a5f\u80fd\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<table style=\"width: 100%; background-color: #000000;\">\r\n\t<tr>\r\n\t\t<td><span style=\"color: #ffffff;\">\r\n\t\t\tnpx react-native run-android &#8211;variant=release &#8211; Android \u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u30fc\u307e\u305f\u306f\u30c7\u30d0\u30a4\u30b9\u3067\u5b9f\u884c\u3059\u308b<br \/>\r\n\t\t\tnpx react-native run-ios &#8211;configuration Release &#8211; iOS \u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u30fc\u307e\u305f\u306f\u30c7\u30d0\u30a4\u30b9\u3067\u5b9f\u884c\u3059\u308b\r\n\t\t<\/span><\/td>\r\n\t<\/tr>\r\n<\/table>\r\n\r\n\r\n<p>\u96e3\u8aad\u5316\u304c\u59cb\u307e\u308b\u3068\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30ed\u30b0\u304c\u51fa\u529b\u3055\u308c\u307e\u3059\u3002<\/p>\r\n\r\n<table style=\"width: 100%; background-color: #000000;\">\r\n\t<tr>\r\n\t\t<td><span style=\"color: #ffffff;\">\r\n\t\t\t[Info] JSDefender Metro Plugin: Preemptive Protection JSDefender(TM) (v2.3.0)<br \/>\r\n\t\t\tCopyright 2019-2021 PreEmptive Solutions, LLC. All Rights Reserved<br \/>\r\n\t\t\tUse of this software constitutes acceptance of the accompanying license agreement.<br \/>\r\n\t\t\tInfo: Licensed to: xxxx@agtech.co.jp<br \/>\r\n\t\t\tFloating Build License: ############################6C6E<br \/>\r\n\t\t\tThis software may be used on binaries for general release.Concurrent Build Limit: 2<br \/>\r\n\t\t\tInfo: JSDefender is up to date.<br \/>\r\n\t\t\tInfo: Source tree building in progress&#8230;<br \/>\r\n\t\t\tInfo: Source tree successfully built.<br \/>\r\n\t\t\tInfo: Total length: 690031<br \/>\r\n\t\t\tInfo: #of scripts: 1<br \/>\r\n\t\t\tInfo: #of syntax nodes: 198953<br \/>\r\n\t\t\tInfo: Highest ES version: ES2015<br \/>\r\n\t\t\tInfo: Debugger removal transformation applied.<br \/>\r\n\t\t\tInfo: Domain lock transformation applied.<br \/>\r\n\t\t\tInfo: Date lock transformation applied.<br \/>\r\n\t\t\t&#8230;<br \/>\r\n\t\t\t[Info] JSDefender Metro Plugin: The bundle is protected successfully.<br \/>\r\n\t\t\t[Info] JSDefender Metro Plugin: Execution time: 27s 154ms\r\n\t\t<\/span><\/td>\r\n\t<\/tr>\r\n<\/table>\r\n\r\n\r\n<p>\u3053\u308c\u3067\u3001\u4fdd\u8b77\u3055\u308c\u305f\u30a2\u30d7\u30ea\u304c\u751f\u6210\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\r\n\r\n<h2>\u307e\u3068\u3081<\/h2>\r\n\r\n<p>JSDefender Metro \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u7c21\u5358\u306b React Native \u30d3\u30eb\u30c9\u30d7\u30ed\u30bb\u30b9\u306b\u7d71\u5408\u3067\u304d\u307e\u3059\u3002React Native \u30a2\u30d7\u30ea\u306e\u4fdd\u8b77\u3092\u691c\u8a0e\u3055\u308c\u3066\u3044\u308b\u65b9\u306f\u3001<a href=\"\/contact\/\" target=\"_blank\" rel=\"noopener\">\u304a\u554f\u3044\u5408\u308f\u305b\u30d5\u30a9\u30fc\u30e0<\/a>\u3088\u308a\u3054\u9023\u7d61\u304f\u3060\u3055\u3044\u3002<\/p>\r\n\r\n\r\n<p>\u307e\u305f\u3001\u8a55\u4fa1\u7248\u306e\u3054\u5229\u7528\u3092\u5e0c\u671b\u3055\u308c\u308b\u304a\u5ba2\u69d8\u306f\u3001\u4ee5\u4e0b\u306e URL \u3088\u308a\u304a\u7533\u3057\u8fbc\u307f\u304f\u3060\u3055\u3044\u3002<br>\r\n<a href=\"\/preemptive\/jsdefender\/trial\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.agtech.co.jp\/preemptive\/jsdefender\/trial\/<\/a><\/p>","protected":false},"excerpt":{"rendered":"React \u306f\u3001Facebook \u3068\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306b\u3088\u3063\u3066\u958b\u767a\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u69cb\u7bc9\u306e\u305f\u3081\u306eJavaScript \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3001React \u3092\u30d9\u30fc\u30b9\u3068\u3057\u305f\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068\u3057\u3066 React N [&hellip;]","protected":false},"author":1,"featured_media":3721,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"product":[84,96,63],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/posts\/3720"}],"collection":[{"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/comments?post=3720"}],"version-history":[{"count":4,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/posts\/3720\/revisions"}],"predecessor-version":[{"id":7665,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/posts\/3720\/revisions\/7665"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/media\/3721"}],"wp:attachment":[{"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/media?parent=3720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/categories?post=3720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/tags?post=3720"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.agtech.co.jp\/blog\/wp-json\/wp\/v2\/product?post=3720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}