首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

npm不编译在生产服务器上所做的更改

npm是Node Package Manager的缩写,是一个用于管理和共享JavaScript代码的包管理工具。它允许开发者在项目中安装、更新、卸载和发布代码包,并且可以解决代码包之间的依赖关系。

在开发过程中,我们通常会使用npm来安装和管理项目所需的依赖包。当我们在开发环境中对代码进行修改时,npm会自动检测到这些更改,并重新编译项目。这样可以提高开发效率,方便开发者实时查看修改后的效果。

然而,在生产服务器上,我们不建议直接在服务器上进行代码的修改和编译。这是因为生产服务器通常是一个稳定的环境,我们希望保持服务器的稳定性和安全性。直接在生产服务器上进行代码修改可能会引入潜在的风险和错误。

相反,我们建议在开发环境中进行代码的修改和测试,并使用版本控制工具(如Git)将修改后的代码提交到代码仓库。然后,在生产服务器上,我们可以使用自动化部署工具(如Jenkins、Travis CI等)来自动拉取最新的代码,并进行编译、构建和部署。

对于Node.js项目,我们可以使用npm的脚本功能来定义自动化部署的步骤。通过在package.json文件中配置相应的脚本,我们可以实现自动化地拉取代码、安装依赖、编译代码等操作。

总结起来,npm不应该直接在生产服务器上进行代码的修改和编译。而是应该在开发环境中进行代码的修改和测试,并使用自动化部署工具将修改后的代码部署到生产服务器上。这样可以保证服务器的稳定性和安全性,同时提高开发效率。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

快将你的 React 应用迁移到 Vite 吧,速度太快啦

但是,当你的项目代码增长时,你可能会面临更高的构建时间、开发服务器的启动速度变慢并等待 2 到 5 秒以反映您在代码中所做的更改,并且当应用程序大规模增长时,这可能会迅速增加。...这增加了: 开发时间,因为每次更改我们需要等待 2 到 6 秒。 生产构建时间,部署快速修复可能需要大约 10 到 20 分钟。 But, 时间就是金钱。 为什么 CRA 如此慢?...Webpack 会 bundle 整个代码,因此如果您的代码库非常大,超过 10k 行,您可能会看到开发服务器的启动速度较慢,并且需要很长时间才能看到所做的更改。如下图所示: 如何变得更快?...Vite 通过将应用程序的模块分为两类:依赖项和源代码来改进开发服务器的启动时间。 依赖项大多是纯 JavaScript,在开发过程中不会经常更改。...让我们用 Vite 看看同样的情况: Vite启动开发服务器只花了298ms,与CRA相比是非常快的。你可以看到这两种工具之间的巨大差异。接下来,让我们也比较一下两者的生产构建时间。

1.3K20

为何Node.js 能成为 Web 应用开发最佳选择?

如果一家公司需要为浏览器端更改构建逻辑以转移到服务器端,开发人员可通过使用 Node.js 代码迁移来轻松实现。尽管如此,编写运行在浏览器或服务器端的代码并没有太大的差异。 5....Meteor 是在 Node.js 之上创建的 Web 应用框架,为客户端和服务器端提供了相同代码库的支持。服务器上任何的数据更改都会在客户端立即显示。...NPM 还允许 JavaScript 开发者下载针对以前在其应用中使用的特定代码所做的更新。...即使不想重用组织外的 JavaScript 开发者创建的代码,也可以采用基于模块的方式来改进团队成员之间的协同效应。 使用 NPM 后,PayPal 显著提高了开发者的生产力。...对于开发者来说,这是一个很大的缓解,因为他们在执行组合 Node.js 和 NoSQL 数据库的任务时不需要记住语法差异。由于 JSON 存储的数据格式允许平滑运行,在数据转换或不匹配中没有任何障碍。

1.7K30
  • 为何Node.js 能成为 Web 应用开发最佳选择?【强推理由】

    如果一家公司需要为浏览器端更改构建逻辑以转移到服务器端,开发人员可通过使用 Node.js 代码迁移来轻松实现。尽管如此,编写运行在浏览器或服务器端的代码并没有太大的差异。 5....Meteor 是在 Node.js 之上创建的 Web 应用框架,为客户端和服务器端提供了相同代码库的支持。服务器上任何的数据更改都会在客户端立即显示。...NPM 还允许 JavaScript 开发者下载针对以前在其应用中使用的特定代码所做的更新。...即使不想重用组织外的 JavaScript 开发者创建的代码,也可以采用基于模块的方式来改进团队成员之间的协同效应。 使用 NPM 后,PayPal 显著提高了开发者的生产力。...对于开发者来说,这是一个很大的缓解,因为他们在执行组合 Node.js 和 NoSQL 数据库的任务时不需要记住语法差异。由于 JSON 存储的数据格式允许平滑运行,在数据转换或不匹配中没有任何障碍。

    1.6K10

    如何用 esbuild 替换 Create React App 中的 Webpack

    npx create-react-app my-app cd my-app npm start 在大约一分钟的依赖包安装和几秒钟的npm启动后,你就可以开始了。...现在你拥有了一个基础的React应用程序,你添加了几个额外的组件和页面来建立你梦寐以求的React应用程序。到目前为止,一切都很顺利,你所做的更改神奇地展示在localhost上。...最后,是时候将这个应用程序部署到网络上,并分享你的创造。为了使事情变得简单,你只需运行npm run build,并添加一个命令将文件scp到你的服务器上。...这不是一个编造的故事。这是我目前在Kaizen做的一个音乐应用程序的情况。 在其他项目中,我看到生产环境构建时间已经膨胀到超过一分钟。在一个较慢的构建机器上运行时,有时需要两倍的时间。...esbuild-success.png 在我的电脑上,这个构建命令现在大概需要60毫秒。比起6秒的webpack构建,快了整整100倍。但是还没结束,我们仍需要真正的看到并运行这些改动。

    2.7K20

    新一代构建工具的比较

    事实上,Snowpack 和 Vite 实际上在某些任务中使用 esbuild。我们的目标更多的是为了更好地了解运行任务以使我们的工作更加容易的开发人员工具。...这些都需要花费大量的工作,并且会使开发服务器在更大的代码库中慢慢爬行,甚至在所有的工作都用于缓存和优化之后也是如此。 Snowpack、 Vite 和 wmr 开发服务器不遵循这个模型。...这告诉 esbuild 在每次保存源文件时重新编译代码。但是我们仍然需要一个服务器来查看我们保存的更改。...这意味着浏览器可以缓存这些脚本,并且只有在它们发生更改时才重新请求它们。开发服务器在保存时自动刷新,但不保留客户端状态。...Snowpack 支持图片并将其复制到生产文件夹中。与其非捆绑的理念一样,Snowpack 在捆绑中不包含图片作为数据 url。

    2.3K20

    软件工程中的部署管道(CICD)

    典型的部署流程的阶段如下: 部署管道 版本控制 通常,从事代码工作的软件开发人员会将所做的更改提交到源代码管理中(例如github)。...开发环境应该(理想情况下)是生产环境的副本,或者在最坏的情况下非常相似。这使软件可以在基础架构等生产环境中进行功能测试,以准备进行任何进一步的自动化或手动测试。...其他团队成员更容易看到您所做的工作 尽早发现较大工作中的错误,使其更易于修复,从而减少调试工作 一致的代码编译/构建测试 较少的集成问题,可快速交付代码 持续交付(CD)是使开发人员和运营工程师能够可靠...,快速且可持续地将错误修复,功能和配置更改交付到生产中的过程。...Canary部署将发布到特定数量或百分比的用户/服务器,以便继续在所有用户/服务器上发布之前进行实时生产测试。

    1.3K30

    25 个提升开发幸福感的 VSCode 扩展

    手动更改设置是很费时间的,因为说实话,我们需要根据我们正在做的项目不时地更改设置,所以为了减轻编程的压力,我建议你使用这个扩展,这样你所做的所有更改都会自动同步到你所有的机器和工作站上。...图片 这个扩展对于前端开发人员来说是必须的。下载这个浏览器预览插件,这样你就可以在你的 VSCode 中完成所有的工作,而不是打开另一个窗口让你的 Chrome 浏览器看到你在代码中所做的改变。...图片 在使用 Live Server 时,这个 VSCode 扩展将帮助您打开当前项目的活动 Web 服务器。...这是完美的,有助于团队协作变得更有效率和生产力。Live Share 允许即时分享当前的项目,即使是在调试的时候ーー这是多么酷啊!...如果有依赖项需要但尚未安装,它会给出警告,还有 NPM 包的版本控制。 我一直致力于解决的大多数错误和错误都来自于使用 NPM 包、函数和特性,由于它与其他包不兼容,这些都无法正常工作。

    4.7K20

    Webpack4 常用配置详解

    入口、出口配置 实现Webpack的打包最基本的就是配置好入口、出口,npm install webpack后在根目录创建webpack.config.js,代码如下: const path = require...,这时就需要配置source-map ,在moudule.exports加入以下配置项 mode: 'development', // 表示是开发环境,js文件不压缩,设为 production 生产环境...,方便快速查找错误 ; eval表示soucemap的映射代码放到打包后的js文件中,而不是生成source.map.js文件; souce-map指将错误映射到具体源文件上 热加载 当希望更改源文件时能自动重新打包文件有两种方法...: true // 当模块热更新失败时浏览器也不自动刷新 // proxy 可以配置跨域 } 当需要更改css文件时页面不刷新,则需要设置hot,启动HotModuleReplacement:先引入...、Promise等对象的,因此需要借用@babel/polyfill ,npm install @babel/preset-env @babel/polyfill -D ,之后在js文件中import

    1.5K30

    在 Docker 中如何高效部署 Node Server

    kubernetes 把 Node 应用视作一个服务端应用的黑盒子,完美匹配了以上条件,越来越多的团队把 node 部署在 k8s 上。...但在此之前,需要先把 Node 应用跑在一个 Docker 容器上,这也是本章的主题。 「目录」 1. 一个简单的 Node 应用 2. NODE_ENV=production 3....,此时构建服务器需要配置服务权限 npm run migrate,数据库迁移脚本,执行数据库表列行更改操作,此时构建服务器需要数据库访问权限 npm start,启动一个 Node 服务 把运行步骤翻译为...$ apk --no-cache add python make g++ 在带有编译过程的镜像构建中,源文件与构建工具都会造成空间的浪费。 借助镜像的「多阶段构建」可以高效利用空间。...# 选择一个体积小的镜像 (~5MB) FROM node:12-alpine as builder # 环境变量设置为生产环境 ENV NODE_ENV production # 为某些特殊的依赖库准备编译环境

    72830

    取代Webpack的打包工具Turbopack究竟有多快

    1.2.2 代码更新 当文件发生更改时,我们一般需要将更改编译后再呈现给浏览器。编译打包做到的越快,发布的速度就越快。...在未来,官方还计划将这个缓存持久化到文件系统或者像 Turborepo 那样的远程缓存中,这将意味着 Turbopack 可以在不同的运行和机器上记住所做的工作。...1.3.3 按要求编译 Turbo 引擎有助于在 开发服务器上提供快速地更新,但有另一个重要指标需要考虑:启动时间。开发服务器开始运行的速度越快,开始工作的速度就越快。...对于启动一个开发服务器来说,减少工作量的方法就是只编译启动所需的代码。 页面级编译 2-3 年前,Next.js在启动应用前会编译整个应用。...如果浏览器需要 CSS,将只编译 CSS,而不编译其引用的图片,Turbopack 甚至知道不编译 source map,除非 Chrome DevTools 是打开的。

    4.3K20

    vue-cli 搭建

    一、安装vue-cli 安装vue-cli的前提是你已经安装了npm,安装npm你可以直接下载node的安装包进行安装。你可以在命令行工具里输入npm -v 检测你是否安装了npm和版本情况。...3、npm run dev   发模式下运行我们的程序。给我们自动构建了开发用的服务器环境和在浏览器中打开,并实时监视我们的代码更改,即时呈现给我们。...在开发环境下,在命令行工具中运行npm run dev 就相当于执行 node build/dev-server.js .也就是开启了一个node写的开发行建议服务器。...一、npm run build 命令 有小伙伴问我,如何把写好的Vue网页放到服务器上,那我就在这里讲解一下,主要的命令就是要用到npm run build 命令。.../build.js" }, 在执行完npm run build命令后,在你的项目根目录生成了dist文件夹,这个文件夹里边就是我们要传到服务器上的文件。

    1.4K20

    给初学者的Gulp教程(译)

    brunch式一个相似的工具,聚焦于资源文件以及它捆绑在一些常用的任务上,像服务器和文件监视器。 最主要的区别是你如何使用他们配置工作流。Gulp配置倾向于更短和更简单,相对于Grunt。...npm install命令,使用Node Package Manager(npm)来安装Gulp。 -g标志代表这个安装时全局安装到你的电脑上,这就运行你在电脑的任何地方都能使用gulp。...监视Sass文件更改 Gulp提供我们一个watch方法,监视是否有文件更改。...服务器 2.使用Sass编译器 3.当文件改变后,自动重新加载浏览器 让我们进入下一届,讨论优化资源文件的部分。...我们也构建了第二个任务,build,创建一个dist文件夹给生产用网页。我们编译Sass为CSS,压缩我们所有的资源文件以及复制必要的文件夹到dist文件夹。

    4.4K20

    Vue-cli教程

    一、安装vue-cli 安装vue-cli的前提是你已经安装了npm,安装npm你可以直接下载node的安装包进行安装。你可以在命令行工具里输入npm -v  检测你是否安装了npm和版本情况。...给我们自动构建了开发用的服务器环境和在浏览器中打开,并实时监视我们的代码更改,即时呈现给我们。 ? 出现这个页面,说明我们的初始化已经成功,现在可以快乐的玩耍了。...在开发环境下,在命令行工具中运行npm run dev 就相当于执行 node build/dev-server.js  .也就是开启了一个node写的开发行建议服务器。...一、npm run build 命令 有小伙伴问我,如何把写好的Vue网页放到服务器上,那我就在这里讲解一下,主要的命令就是要用到npm run build 命令。.../build.js"  }, 在执行完npm run build命令后,在你的项目根目录生成了dist文件夹,这个文件夹里边就是我们要传到服务器上的文件。

    2K80

    如何使用 docker 高效部署 Node 应用

    kubernetes 把 Node 应用视作一个服务端应用的黑盒子,完美匹配了以上条件,越来越多的团队把 node 部署在 k8s 上。...但在此之前,需要先把 Node 应用跑在一个 Docker 容器上,这也是本章的主题。...# 通过设置环境变量,只安装生产环境依赖 $ NODE_ENV=production npm ci # 通过显式指定 flag,只安装生产环境依赖 $ npm ci --production 另一方面...,此时构建服务器需要配置服务权限 npm run migrate,数据库迁移脚本,执行数据库表列行更改操作,此时构建服务器需要数据库访问权限 npm start,启动一个 Node 服务 把运行步骤翻译为...$ apk --no-cache add python make g++ 在带有编译过程的镜像构建中,源文件与构建工具都会造成空间的浪费。借助镜像的「多阶段构建」可以高效利用空间。

    1.2K30

    Yeoman 官网教学案例:使用 Yeoman 构建 WebApp

    app,你无须在电脑上做任何事情来设置本地服务器。...5.1 打开服务器 运行 npm 脚本,创建在 localhost:3000 (或者127.0.0.1:3000) 上预览的基于 node 的本地 http 服务器。...$ npm run serve 在浏览器的新页面打开localhost:3000 5.2 停止服务器 如果你想停止服务器,按 Ctrl + C 停止当前CLI的进程 注意:你不能在同一端口运行多个http...8.1 优化产品文件 为了创建应用程序的生产版本,我们需要 lint 代码 合并和缩小我们的脚本及样式来拯救那些网络请求, 编译预处理器的输出结果, 使应用程序更精炼 哇!...8.2 建立及预览生产的应用程序 如果想在本地预览 app,可以运行下面的 npm 脚本 $ npm run serve:dist 它会创建你的项目并且启动本地服务器。

    2.4K70

    Angular 11正式发布:加入webpack 5,升级至TS 4.0,不再支持IE 9 和10

    manualChangeDetection 函数可以用来禁用单元测试中的自动更改检测,使开发人员可以更精细地控制更改检测。...改进的 CLI 输出格式 改进的报告和日志 Angular Language Service(语言服务)提供了很多有用的工具,为 Angular 开发带来了更多生产力和乐趣。...关于 HMR for webpack 的信息,请参见: https://webpack.js.org/guides/hot-module-replacement 现在,在开发过程中,对组件、模板和样式的最新更改将立即更新到正在运行的应用程序中...输入表单的数据以及滚动位置都会保持原样,从而提高了开发人员的工作效率。 更快的构建 通过对一些关键领域所做的更新,我们带来了更快的开发和构建周期。...将来,webpack v5 会带来: 持久磁盘缓存,以加快构建速度 cjs 摇树,减小包体积 这一支持是实验性的,并且正在开发中,因此我们不建议你将其用于生产用途。 想试用 webpack5 吗?

    3.3K30

    Strapi 安装及使用腾讯云对象储存

    纯安装向,没有多余解释 操作系统:Ubuntu 22.04 LTS 安装Nodejs和npm 安装 Nodejs sudo apt install Nodejs 安装 npm sudo apt install...npm 安装Nodejs 版本管理工具 sudo npm i -g n 更新 Nodejs 最新稳定版 sudo n stable 安装yarn包管理器 sudo i -g yarn ---- 安装...Strapi(Strapi项目文件的更改将触发服务器重启) yarn start 直接启动生产模式Strapi yarn build 编译Strapi项目 yarn strapi 输出Strapi所有可用的命令...访问密钥 内查看,没有自行创建一个 COS_Region 和 COS_Bucket为你在腾讯云 对象储存 创建的储存桶区域和储存桶名称 接着修改....",           ],           upgradeInsecureRequests: null,         },       }, //新增:解决 CDN 跨域问题,不添加会导致后台图片

    78341

    轻量级工具Vite到底牛在哪, 一文全知道

    此外,Vite还能提供热模块替换,这意味着我们在开发过程中,可以在浏览器中看到代码刷新,甚至可以使用它来编译项目的精简版本,并直接用于生产。...之后进入项目文件夹并安装依赖项: cd vite-project npm install 然后,我们可以使用启动服务器 npm run dev 并在http:// localhost:3000 /上查看我们的应用程序...经过一些测试,给人留下了深刻的印象是Vite开发服务器可立即启动,并且通过替换热模块,每一次代码更改都会快速反映在浏览器中,有时甚至是即时显示。 ?...在这里,测试者尝试导入了一个100kB的JavaScript库,并添加了2万行CSS,将文件类型更改为TypeScript和Sass,强制Vite分别使用TypeScript和Sass编译器进行编译。...项目中绑定的工具越多,整体就会越脆弱。如果一个组件发生故障或引入了重大更改,则整个流程将中断,我们必须再次深入研究每个工具和插件及其复杂性,以对其进行修复,Vite从根本上减轻了开发的负担。

    4.1K40

    webpack 4 的 30 个步骤打造优化到极致的 react 开发环境

    ,从而使打包体积更大 更改 .babelrc,只转译我们使用到的 npm install core-js@2 @babel/runtime-corejs2 -S { "presets": ["@babel...", 8、使用 WebpackDevServer webpack-dev-server 就是在本地为搭建了一个小型的静态文件服务器,有实时重加载的功能,为将打包生成的资源提供了web服务 devServer...要接入 CDN,需要把网页的静态资源上传到 CDN 服务上,在访问这些资源时,使用 CDN 服务提供的URL。...需要再安装一个依赖 npm i add-asset-html-webpack-plugin 它会将我们打包后的 dll.js 文件注入到我们生成的 index.html 中.在 webpack.base.config.js...dist 目录下启动一个静态服务器,访问首页,然后关闭这个服务器,你会惊讶的发现:网站竟然还能够访问,哈哈,是不是很神奇?

    2.3K21
    领券