首页
学习
活动
专区
工具
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.6K20

    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

    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

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

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

    3.8K20

    给初学者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.3K20

    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 # 为某些特殊依赖库准备编译环境

    70530

    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

    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

    如何使用 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

    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 跨域问题,添加会导致后台图片

    72340

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

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

    4.1K40

    webpack配置完全指南

    chunkhash:跟入口文件构建有关,根据入口文件构建对应chunk,生成每个chunk对应hash;入口文件更改,对应chunkhash值会更改。...首先在我们项目中安装依赖:npm i -D webpack webpack-dev-server  webpack-dev-server用法和wepack一样,只不过他会额外启动一个express服务器...,浏览器通过新模块替换老模块,这样就能在刷新浏览器前提下实现页面的更新。...;devtool中不同配置有不同效果和速度,综合性能和品质后,我们一般开发环境使用cheap-module-eval-source-map,在生产环境使用source-map。...,因为生产环境经常会通过hash生成很多bundle文件,如果不进行清理的话每次都会生成新,导致文件夹非常庞大;这个插件安装使用非常方便:npm i -D clean-webpack-plugin

    1.2K20
    领券