{"id":38751,"date":"2022-11-04T11:29:10","date_gmt":"2023-10-22T14:36:52","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/"},"modified":"2024-04-28T22:58:17","modified_gmt":"2024-04-28T14:58:17","slug":"%e5%bc%95%e5%85%a5angular","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/","title":{"rendered":"\u5f15\u5165Angular"},"content":{"rendered":"<h2>\u9996\u5148<\/h2>\n<p>\u8bf7\u5728\u4e0a\u4e00\u7bc7\u5173\u4e8e&#8221;Angular\u662f\u4ec0\u4e48&#8221;\u7684\u5e16\u5b50\u7684\u57fa\u7840\u4e0a\u66f4\u6df1\u5165\u5730\u7406\u89e3Angular\u3002<br \/>\n\u672c\u6b21\u6211\u60f3\u4ecb\u7ecd\u5173\u4e8e\u5f15\u5165Angular\u7684\u5185\u5bb9\u3002<\/p>\n<h2>\u5b89\u88c5Angular<\/h2>\n<p>\u6211\u4eec\u6765\u8bd5\u4e00\u8bd5\u3002<\/p>\n<h3>[\u6b65\u9aa41] \u5b89\u88c5 Node.js<\/h3>\n<p>\u6267\u884c\u5404\u4e2a\u547d\u4ee4\u6765\u5b89\u88c5Node.js\u3002<br \/>\n\u4f7f\u7528Node.js\u7684\u7248\u672c\u4e3a14\u7cfb\u5217\u3002<\/p>\n<p>\u4ece\u7f51\u7ad9\u4e0b\u8f7d Node.js\u3002<br \/>\n\u4f7f\u7528 curl \u547d\u4ee4\u4ece URL\uff08https:\/\/rpm.nodesource.com\/setup_14.x\uff09\u4e0b\u8f7d\u76ee\u6807\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u5bf9\u4e8e\u201c\u25bd\u30b3\u30de\u30f3\u30c9\u201d\u7684\u4e2d\u6587\u672c\u5730\u5316\u7684\u4e00\u79cd\u8868\u8ff0\u65b9\u5f0f\uff1a<br \/>\n\u25bd\u6307\u4ee4<\/p>\n<pre class=\"post-pre\"><code>curl --silent --location https:\/\/rpm.nodesource.com\/setup_14.x | sudo bash -\r\n<\/code><\/pre>\n<p>\u25bd\u6267\u884c\u7ed3\u679c\u793a\u4f8b<\/p>\n<pre class=\"post-pre\"><code>[root@localhost html]# curl --silent --location https:\/\/rpm.nodesource.com\/setup_14.x | sudo bash -\r\n\r\n## Installing the NodeSource Node.js 14.x repo...\r\n\r\n\r\n## Inspecting system...\r\n\r\n\u30fb\u30fb\u30fb\u30fb\u30fb\u51e6\u7406\u5185\u5bb9\u304c\u6d41\u308c\u307e\u3059\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\r\n\r\n## Run `sudo yum install -y nodejs` to install Node.js 14.x and npm.\r\n## You may run dnf if yum is not available:\r\n     sudo dnf install -y nodejs\r\n## You may also need development tools to build native addons:\r\n     sudo yum install gcc-c++ make\r\n## To install the Yarn package manager, run:\r\n     curl -sL https:\/\/dl.yarnpkg.com\/rpm\/yarn.repo | sudo tee \/etc\/yum.repos.d\/yarn.repo\r\n     sudo yum install yarn\r\n<\/code><\/pre>\n<p>\u8bf7\u4f60\u7ed9\u6211\u4e00\u676f\u5496\u5561\u3002<\/p>\n<p>\u5b89\u88c5 Node.js<br \/>\n\u5b89\u88c5\u60a8\u5728\u6b65\u9aa4\u2460\u4e2d\u4e0b\u8f7d\u7684 Node.js\u3002<br \/>\n\u7531\u4e8e\u672c\u6b21\u73af\u5883\u53ef\u4ee5\u6267\u884c yum \u547d\u4ee4\uff0c\u6240\u4ee5\u6211\u4eec\u4f7f\u7528 yum \u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<p>\u8bf7\u63d0\u4f9b\u4ee5\u4e0b\u7684\u9009\u9879 \u25bd\u547d\u4ee4 (Please provide the options for the \u25bdcommand.)<\/p>\n<pre class=\"post-pre\"><code>sudo yum install nodejs\r\n<\/code><\/pre>\n<p>\u25bd\u6267\u884c\u7ed3\u679c\u4f8b\u5b50<\/p>\n<pre class=\"post-pre\"><code>[root@localhost html]# sudo yum install nodejs\r\n\u8aad\u307f\u8fbc\u3093\u3060\u30d7\u30e9\u30b0\u30a4\u30f3:fastestmirror\r\nLoading mirror speeds from cached hostfile\r\n\r\n\u30fb\u30fb\u30fb\u30fb\u30fb\u51e6\u7406\u5185\u5bb9\u304c\u6d41\u308c\u307e\u3059\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\r\n\r\n==================================================================================================================================================================================\r\n Package                               \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30fc                      \u30d0\u30fc\u30b8\u30e7\u30f3                                           \u30ea\u30dd\u30b8\u30c8\u30ea\u30fc                               \u5bb9\u91cf\r\n==================================================================================================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d:\r\n nodejs                                x86_64                                2:14.19.2-1nodesource                                nodesource                                 33 M\r\n\r\n\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u8981\u7d04\r\n==================================================================================================================================================================================\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb  1 \u30d1\u30c3\u30b1\u30fc\u30b8\r\n\r\n\u7dcf\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bb9\u91cf: 33 M\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5bb9\u91cf: 93 M\r\nIs this ok [y\/d\/N]:\r\n<\/code><\/pre>\n<p>\u5728\u8def\u4e0a\uff0c\u786e\u8ba4\u4f1a\u51fa\u73b0\u3002<br \/>\n\u6ca1\u6709\u95ee\u9898\uff0c\u8bf7\u8f93\u5165\u201cy\u201d\u5e76\u6309\u4e0b[Enter]\u952e\u6267\u884c\u3002<br \/>\n\u6309\u7167\u4e0b\u9762\u7684\u65b9\u5f0f\u8fdb\u884c\u5904\u7406\uff0c\u5982\u679c\u663e\u793a\u201c\u5b8c\u6210\uff01\u201d\u5219\u8868\u793a\u5b8c\u6210\u3002<\/p>\n<pre class=\"post-pre\"><code>\u30fb\u30fb\u30fb\u30fb\u30fb\u51e6\u7406\u5185\u5bb9\u304c\u6d41\u308c\u307e\u3059\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\r\n\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb:\r\n  nodejs.x86_64 2:14.19.2-1nodesource\r\n\r\n\u5b8c\u4e86\u3057\u307e\u3057\u305f!\r\n<\/code><\/pre>\n<p>\u8bf7\u5728\u4e2d\u56fd\u7528\u4e2d\u6587\u548c\u5e73\u79fb\u4e0b\u5217\u5185\u5bb9\uff0c\u53ea\u9700\u8981\u4e00\u79cd\u9009\u9879\uff1a<\/p>\n<p>\u8fdb\u884cNode.js\u5b89\u88c5\u7684\u786e\u8ba4<\/p>\n<pre class=\"post-pre\"><code>[root@localhost html]# node -v\r\nv14.19.2\r\n<\/code><\/pre>\n<p>\u8bf7\u7528\u4e2d\u6587\u5c06\u4ee5\u4e0b\u53e5\u5b50\u8fdb\u884c\u540c\u4e49\u8f6c\u8ff0\uff0c\u53ea\u9700\u8981\u7ed9\u51fa\u4e00\u4e2a\u9009\u9879\uff1a<br \/>\n&#8211; The company is going through a hard time financially.<\/p>\n<h3>[\u6b65\u9aa42] \u5b89\u88c5 Angular-Cli<\/h3>\n<p>\u4e3a\u4e86\u4f7f\u7528Angular\uff0c\u6211\u4eec\u9700\u8981\u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<p>\u25bd\u547d\u4ee4<br \/>\n\u25bd\u6307\u4ee4<br \/>\n\u25bd\u64cd\u4f5c<\/p>\n<pre class=\"post-pre\"><code>npm install -g @angular\/cli\r\n<\/code><\/pre>\n<p>\u8bf7\u63d0\u4f9b\u66f4\u5177\u4f53\u7684\u4e0a\u4e0b\u6587\u6216\u5185\u5bb9\uff0c\u4ee5\u4fbf\u6211\u66f4\u597d\u5730\u4e3a\u60a8\u63d0\u4f9b\u7ffb\u8bd1\u3002&#8221;\u5b9f\u884c\u7d50\u679c\u4f8b&#8221; \u8fd9\u4e2a\u8bcd\u7ec4\u65e0\u6cd5\u51c6\u786e\u5730\u7ffb\u8bd1\u4e3a\u6bcd\u8bed\u4e2d\u6587\uff0c\u56e0\u6b64\u6211\u9700\u8981\u66f4\u591a\u4fe1\u606f\u6765\u8fdb\u884c\u7ffb\u8bd1\u3002\u611f\u8c22\u60a8\u7684\u7406\u89e3\uff01<\/p>\n<pre class=\"post-pre\"><code>[root@localhost html]# npm install -g @angular\/cli\r\n\/usr\/bin\/ng -&gt; \/usr\/lib\/node_modules\/@angular\/cli\/bin\/ng.js\r\n\r\n&gt; @angular\/cli@13.3.5 postinstall \/usr\/lib\/node_modules\/@angular\/cli\r\n&gt; node .\/bin\/postinstall\/script.js\r\n\r\n? Would you like to share anonymous usage data with the Angular Team at Google under\r\nGoogle\u2019s Privacy Policy at https:\/\/policies.google.com\/privacy? For more details and\r\nhow to change this setting, see https:\/\/angular.io\/analytics. Yes\r\n+ @angular\/cli@13.3.5\r\nupdated 1 package in 16.847s\r\n<\/code><\/pre>\n<p>\u8bf7\u4ee5\u4e2d\u6587\u539f\u751f\u65b9\u5f0f\u6539\u5199\u4ee5\u4e0b\u53e5\u5b50\uff0c\u53ea\u9700\u8981\u63d0\u4f9b\u4e00\u79cd\u9009\u9879\uff1a<br \/>\n1. The cat is sleeping on the mat.<\/p>\n<h3>[\u6b65\u9aa43] \u521b\u5efa Angular \u9879\u76ee<\/h3>\n<p>\u8fd9\u4e2a\u5904\u7406\u8fc7\u7a0b\u9700\u8981\u4e00\u6bb5\u65f6\u95f4\u624d\u80fd\u5b8c\u6210\u3002<\/p>\n<p>\u25bd\u6307\u4ee4<\/p>\n<pre class=\"post-pre\"><code>ng new {\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d}\r\n<\/code><\/pre>\n<p>\u8fd9\u6b21\u6211\u4eec\u7528\u300cproject\u300d\u4f5c\u4e3a\u9879\u76ee\u540d\u79f0\u521b\u5efa\u4e86\u4e00\u4e2a\u9879\u76ee\u3002<br \/>\n\u6839\u636e\u4e0a\u8ff0\u547d\u4ee4\u4e2d\u7684\u300c{\u9879\u76ee\u540d\u79f0}\u300d\u6307\u5b9a\u7684\u4fe1\u606f\uff0c\u5c06\u521b\u5efa\u4e00\u4e2a\u76ee\u5f55\uff0c\u6240\u4ee5\u6700\u597d\u7528\u534a\u89d2\u5b57\u7b26\u6307\u5b9a\u9879\u76ee\u540d\u79f0\u3002<\/p>\n<p>\u25bd\u6267\u884c\u7ed3\u679c\u793a\u4f8b<\/p>\n<pre class=\"post-pre\"><code>[root@localhost html]# ng new project\r\n? Would you like to add Angular routing? Yes\r\n? Which stylesheet format would you like to use? CSS\r\n\r\n\u30fb\u30fb\u30fb\u30fb\u30fb\u51e6\u7406\u5185\u5bb9\u304c\u6d41\u308c\u307e\u3059\u30fb\u30fb\u30fb\u30fb\u30fb\u30fb\r\n\r\n? Packages installed successfully.\r\n    Successfully initialized git.\r\n<\/code><\/pre>\n<p>\u8bf7\u7528\u4e2d\u6587\u6717\u8bfb\u548c\u7ffb\u8bd1\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<p>\u5f53\u6210\u529f\u7ed3\u675f\u540e\uff0c\u8bf7\u786e\u4fdd\u5df2\u521b\u5efa\u4e86Angular\u9879\u76ee\u3002<\/p>\n<pre class=\"post-pre\"><code>[root@localhost html]# cd project\/\r\n[root@localhost project]# ls -al\r\n\u5408\u8a08 836\r\ndrwxr-xr-x.   6 root root   4096  5\u6708 16 13:11 .\r\ndrwxr-xr-x.   4 root root     53  5\u6708 16 13:09 ..\r\n-rw-r--r--.   1 root root    600  5\u6708 16 13:09 .browserslistrc\r\n-rw-r--r--.   1 root root    274  5\u6708 16 13:09 .editorconfig\r\ndrwxr-xr-x.   8 root root    166  5\u6708 16 13:11 .git\r\n-rw-r--r--.   1 root root    548  5\u6708 16 13:09 .gitignore\r\ndrwxr-xr-x.   2 root root     66  5\u6708 16 13:09 .vscode\r\n-rw-r--r--.   1 root root   1061  5\u6708 16 13:09 README.md\r\n-rw-r--r--.   1 root root   3045  5\u6708 16 13:09 angular.json\r\n-rw-r--r--.   1 root root   1424  5\u6708 16 13:09 karma.conf.js\r\ndrwxr-xr-x. 596 root root  20480  5\u6708 16 13:11 node_modules\r\n-rw-r--r--.   1 root root 773846  5\u6708 16 13:11 package-lock.json\r\n-rw-r--r--.   1 root root   1070  5\u6708 16 13:09 package.json\r\ndrwxr-xr-x.   5 root root    156  5\u6708 16 13:09 src\r\n-rw-r--r--.   1 root root    287  5\u6708 16 13:09 tsconfig.app.json\r\n-rw-r--r--.   1 root root    863  5\u6708 16 13:09 tsconfig.json\r\n-rw-r--r--.   1 root root    333  5\u6708 16 13:09 tsconfig.spec.json\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u968f\u673a\u9009\u62e9\u4e00\u4e2a\uff08only need one option\uff09\u3002<\/p>\n<p>\u53ef\u4ee5\u4ece\u4e2d\u6587\u51fa\u53d1\u91cd\u65b0\u8868\u8fbe\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<h3>[\u7b2c\u56db\u6b65] \u542f\u52a8Angular\u5e94\u7528\u7a0b\u5e8f<\/h3>\n<p>\u4e00\u65e6\u521b\u5efa\u4e86Angular\u9879\u76ee\uff0c\u6211\u4eec\u5c06\u5c1d\u8bd5\u542f\u52a8\u5e76\u5728\u6d4f\u89c8\u5668\u4e2d\u8fdb\u884c\u663e\u793a\u3002<\/p>\n<p>\u25bd\u6307\u4ee4<\/p>\n<pre class=\"post-pre\"><code>ng serve --open\r\n<\/code><\/pre>\n<p>\u25bd\u6267\u884c\u7ed3\u679c\u793a\u4f8b<\/p>\n<p>\u25bd\u5b9e\u9645\u6267\u884c\u7ed3\u679c\u6837\u4f8b<\/p>\n<p>\u25bd\u5b9e\u9645\u6267\u884c\u6548\u679c\u8303\u4f8b<\/p>\n<p>\u25bd\u5b9e\u9645\u8fd0\u884c\u7ed3\u679c\u6848\u4f8b<\/p>\n<pre class=\"post-pre\"><code>[root@localhost project]# ng serve --open\r\n? Browser application bundle generation complete.\r\n\r\nInitial Chunk Files   | Names         |  Raw Size\r\nvendor.js             | vendor        |   1.98 MB |\r\npolyfills.js          | polyfills     | 294.79 kB |\r\nstyles.css, styles.js | styles        | 173.22 kB |\r\nmain.js               | main          |  49.78 kB |\r\nruntime.js            | runtime       |   6.51 kB |\r\n\r\n                      | Initial Total |   2.49 MB\r\n\r\nBuild at: 2022-05-16T04:27:41.805Z - Hash: 23933d2ee278e7a8 - Time: 5228ms\r\n\r\n** Angular Live Development Server is listening on localhost:4200, open your browser on http:\/\/localhost:4200\/ **\r\n\r\n\r\n? Compiled successfully.\r\n<\/code><\/pre>\n<p>\u521d\u6b21\u542f\u52a8\u6216\u5728\u89e6\u78b0\u6e90\u4ee3\u7801\u65f6\uff0c\u53ef\u80fd\u4f1a\u663e\u793a\u8bb8\u591a\u6d88\u606f\uff0c\u4f46\u53ea\u8981\u51fa\u73b0\u201c\u7f16\u8bd1\u6210\u529f\u3002\u201d\u7684\u6d88\u606f\uff0c\u5c31\u8868\u793a\u542f\u52a8\u6210\u529f\u3002<br \/>\n\u5728\u6d4f\u89c8\u5668\u4e2d\u8bbf\u95ee\u201chttp:\/\/localhost:4200\/\u201d\u5373\u53ef\u663e\u793aAngular\u9879\u76ee\u7684\u521d\u59cb\u9875\u9762\u3002<\/p>\n<p>\u7136\u800c\uff0c\u5982\u679c\u4f7f\u7528\u9ed8\u8ba4\u8bbe\u7f6e\u542f\u52a8\uff0c\u5c06\u6307\u5b9a\u4e3alocalhost\u3002<br \/>\n\u6839\u636e\u73af\u5883\u8bbe\u7f6e\uff08\u5982\u4e3b\u673a\u540d\u3001\u670d\u52a1\u5668\u540d\u7b49\uff09\uff0c\u6709\u65f6\u65e0\u6cd5\u5728localhost\u4e0a\u8bbf\u95ee\u3002<br \/>\n\u203b\u672c\u6b21\u6211\u4eec\u662f\u5728\u865a\u62df\u73af\u5883\uff08VM\uff09\u4e2d\u8fdb\u884c\u521b\u5efa\u3002<br \/>\n\u5728VM\u5185\u90e8\u5c06apache\u7684ServerName\u8bbe\u7f6e\u4e3a&#8221;localhost&#8221;\uff0c\u5e76\u5728PC\u7aef\u8bbe\u7f6e\u4e86hosts\uff0c\u4f46\u4ecd\u65e0\u6cd5\u6210\u529f\u786e\u8ba4\u3002<\/p>\n<p>\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u6211\u4eec\u53ef\u4ee5\u5c1d\u8bd5\u4f7f\u7528\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u547d\u4ee4\uff0c\u5e76\u5728\u9009\u9879\u4e2d\u6307\u5b9a\u4e3b\u673a\u548c\u7aef\u53e3\u8fdb\u884c\u542f\u52a8\u3002<br \/>\n\u4ee5\u4e0b\u662f\u8bbe\u7f6e\u7684\u9009\u9879\uff1a<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211; +<br \/>\n\u00b7 NODE_OPTIONS = &#8211;max_old_space_size = 8192<br \/>\n\u907f\u514d\u5185\u5b58\u9519\u8bef<br \/>\n\u00b7 &#8211;host = 192.168.56.109<br \/>\n\u6307\u5b9a\u4e3b\u673a\uff08\u6307\u5b9a\u5728VM\u5185\u90e8\u56fa\u5b9a\u7684IP\u5730\u5740\uff09<br \/>\n\u00b7 &#8211;port = 4200<br \/>\n\u7aef\u53e3\u6307\u5b9a\uff08\u5f53\u60f3\u8981\u66f4\u6539\u4e3a4200\u4e4b\u5916\u7684\u7aef\u53e3\u65f6\u8fdb\u884c\u6307\u5b9a\uff09<br \/>\n+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211; +<\/p>\n<p>\u25bd\u5b9e\u9645\u4e0a\u9009\u62e9\u5e76\u542f\u52a8<\/p>\n<pre class=\"post-pre\"><code>[root@localhost project]# NODE_OPTIONS=--max_old_space_size=8192 ng serve --open --host=192.168.56.109 --port=4200\r\nWarning: This is a simple server for use in testing or debugging Angular applications\r\nlocally. It hasn't been reviewed for security issues.\r\n\r\nBinding this server to an open connection can result in compromising your application or\r\ncomputer. Using a different host than the one passed to the \"--host\" flag might result in\r\nwebsocket connection issues. You might need to use \"--disable-host-check\" if that's the\r\ncase.\r\n? Browser application bundle generation complete.\r\n\r\nInitial Chunk Files   | Names         |  Raw Size\r\nvendor.js             | vendor        |   1.98 MB |\r\npolyfills.js          | polyfills     | 294.79 kB |\r\nstyles.css, styles.js | styles        | 173.22 kB |\r\nmain.js               | main          |  49.78 kB |\r\nruntime.js            | runtime       |   6.51 kB |\r\n\r\n                      | Initial Total |   2.49 MB\r\n\r\nBuild at: 2022-05-16T04:18:20.060Z - Hash: 23933d2ee278e7a8 - Time: 9953ms\r\n\r\n** Angular Live Development Server is listening on 192.168.56.109:4200, open your browser on http:\/\/192.168.56.109:4200\/ **\r\n\r\n\r\n? Compiled successfully.\r\n? Browser application bundle generation complete.\r\n\r\n5 unchanged chunks\r\n\r\nBuild at: 2022-05-16T04:18:20.597Z - Hash: 23933d2ee278e7a8 - Time: 378ms\r\n\r\n? Compiled successfully.\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d365d37434c4406c6f4fc\/52-0.png\" alt=\"01.\u30ad\u30e3\u30d7\u30c1\u30e3.png\" \/><\/div>\n<p>\u8bf7\u7528\u4e2d\u6587\u8fdb\u884c\u4e0b\u9762\u7684\u53e5\u5b50\u6539\u8ff0\uff0c\u53ea\u9700\u8981\u4e00\u79cd\u9009\u9879\uff1a<\/p>\n<p>Please close the door.<\/p>\n<h2>\u6700\u540e<\/h2>\n<p>\u5173\u4e8e\u5f15\u5165Angular\u7684\u90e8\u5206\u5c31\u662f\u8fd9\u6837\u4e86\u3002<br \/>\n\u5728\u5b9e\u9645\u7684\u5f00\u53d1\u4e2d\uff0c\u8fd8\u9700\u8981\u4e0e\u540e\u7aef\u8bf8\u5982PHP\u7684\u534f\u540c\u5de5\u4f5c\u3002<br \/>\n\u4e0b\u6b21\u6211\u4eec\u5c06\u4ecb\u7ecd\u4e0ePHP\u6846\u67b6Laravel\u7684\u534f\u540c\u5de5\u4f5c\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u8bf7\u5728\u4e0a\u4e00\u7bc7\u5173\u4e8e&#8221;Angular\u662f\u4ec0\u4e48&#8221;\u7684\u5e16\u5b50\u7684\u57fa\u7840\u4e0a\u66f4\u6df1\u5165\u5730\u7406\u89e3Angular\u3002 [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-38751","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5f15\u5165Angular - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5f15\u5165angular\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5f15\u5165Angular\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u8bf7\u5728\u4e0a\u4e00\u7bc7\u5173\u4e8e&#8221;Angular\u662f\u4ec0\u4e48&#8221;\u7684\u5e16\u5b50\u7684\u57fa\u7840\u4e0a\u66f4\u6df1\u5165\u5730\u7406\u89e3Angular\u3002 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5f15\u5165angular\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-22T14:36:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T14:58:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d365d37434c4406c6f4fc\/52-0.png\" \/>\n<meta name=\"author\" content=\"\u6e05, \u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/\",\"name\":\"\u5f15\u5165Angular - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-10-22T14:36:52+00:00\",\"dateModified\":\"2024-04-28T14:58:17+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5f15\u5165Angular\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\",\"name\":\"\u6e05, \u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5f15\u5165Angular - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5f15\u5165angular\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5f15\u5165Angular","og_description":"\u9996\u5148 \u8bf7\u5728\u4e0a\u4e00\u7bc7\u5173\u4e8e&#8221;Angular\u662f\u4ec0\u4e48&#8221;\u7684\u5e16\u5b50\u7684\u57fa\u7840\u4e0a\u66f4\u6df1\u5165\u5730\u7406\u89e3Angular\u3002 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5f15\u5165angular\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-10-22T14:36:52+00:00","article_modified_time":"2024-04-28T14:58:17+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d365d37434c4406c6f4fc\/52-0.png"}],"author":"\u6e05, \u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u5b87","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/","name":"\u5f15\u5165Angular - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-10-22T14:36:52+00:00","dateModified":"2024-04-28T14:58:17+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5f15\u5165Angular"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e","name":"\u6e05, \u5b87","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","caption":"\u6e05, \u5b87"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%bc%95%e5%85%a5angular\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/38751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=38751"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/38751\/revisions"}],"predecessor-version":[{"id":63353,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/38751\/revisions\/63353"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=38751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=38751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=38751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}