<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>NodeJS环境 on 杨刚的个人网站</title>
    <link>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/</link>
    <description>Recent content in NodeJS环境 on 杨刚的个人网站</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <copyright>Copyright © 2018-2025 GradyYoung. All rights reserved.</copyright>
    <lastBuildDate>Fri, 23 May 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>1、NodeJS</title>
      <link>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/cf4953e8/</link>
      <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/cf4953e8/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;什么是NodeJS 
    &lt;div id=&#34;什么是nodejs&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%80%e4%b9%88%e6%98%afnodejs&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;简单的说 Node.js 就是运行在服务端的 JavaScript。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>2、NPM</title>
      <link>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/3d0d1cb7/</link>
      <pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/3d0d1cb7/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;什么是NPM 
    &lt;div id=&#34;什么是npm&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%80%e4%b9%88%e6%98%afnpm&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;NPM是随同NodeJS一起安装的包管理工具，能解决NodeJS代码部署上的很多问题，常见的使用场景有以下几种：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>3、模块化</title>
      <link>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/910c7552/</link>
      <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/910c7552/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;什么是模块 
    &lt;div id=&#34;什么是模块&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%80%e4%b9%88%e6%98%af%e6%a8%a1%e5%9d%97&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起&lt;/li&gt;
&lt;li&gt;块的内部数据与实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通信&lt;/li&gt;
&lt;li&gt;在node中，一个js文件就是一个模块，每个模块单独运行在一个函数中，所以一个js文件中的变量和函数的作用域不是全局的，如果需要在其他js中使用，那么需要使用引入&lt;/li&gt;
&lt;li&gt;node中模块分为两大类：核心模块（node提供或npm下载的，例如fs）；文件模块（自己写的模块）&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&#34;relative group&#34;&gt;解决的问题 
    &lt;div id=&#34;解决的问题&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;请求过多
&lt;ul&gt;
&lt;li&gt;首先我们要依赖多个模块，那样就会发送多个请求，导致请求过多&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;依赖模糊
&lt;ul&gt;
&lt;li&gt;我们不知道他们的具体依赖关系是什么，也就是说很容易因为不了解他们之间的依赖关系导致加载先后顺序出错。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;难以维护
&lt;ul&gt;
&lt;li&gt;以上两种原因就导致了很难维护，很可能出现牵一发而动全身的情况导致项目出现严重的问题。模块化固然有多个好处，然而一个页面需要引入多个js文件，就会出现以上这些问题。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&#34;relative group&#34;&gt;CommonJS和ES6Modules 
    &lt;div id=&#34;commonjs和es6modules&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#commonjs%e5%92%8ces6modules&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;CommonJS和 ES6 模块系统是 JavaScript 中两种主要的模块处理方式。它们在语法、加载方式和使用场景上都有显著的区别。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>4、webpack</title>
      <link>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/83bff396/</link>
      <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/83bff396/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Webpack 
    &lt;div id=&#34;webpack&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#webpack&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;从本质上，Webpack是现代JavaScript应用的静态模块打包工具&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>5、nvm</title>
      <link>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/36ce7762/</link>
      <pubDate>Fri, 23 May 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/bafd68f1/3233cd21/79502aa8/36ce7762/</guid>
      <description>&lt;p&gt;nvm（Node Version Manager）是Node.js的版本管理器，可以让我们轻松地在不同的Node.js版本之间进行切换。&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
