npm 包 mern-scripts 使用教程

前言

如果你正在开发一个使用了 MERN(MongoDB、Express、React 和 Node.js)技术栈的前端应用程序,那么你可能已经知道了,不同于传统的服务器端渲染应用程序,MERN 应用程序大多数是使用前端框架 React 构建,并且在后端使用了 Node.js + Express 提供 API,数据存储在 MongoDB 数据库中。

但是,想要正确地配置和构建一个 MERN 应用程序是一个需要花费大量时间和精力的过程,需要掌握众多的工具和技术。为了简化 MERN 应用程序的开发流程,Facebook 推出了一个名为 Create React App 的工具,用于创建一个基于 React 的前端应用程序模板,但是它还没有专门针对 MERN 应用程序的模板。

为了解决这个问题,mern.io 团队推出了一个名为 mern-scripts 的 npm 包,它提供了一套简单而又强大的工具,用于快速创建和构建 MERN 应用程序。这个包是构建 MERN 应用程序的基石,本文将详细讲解如何使用 mern-scripts 包,帮助你快速构建一个 MERN 应用程序。

安装 mern-scripts 包

首先,你需要在计算机上全局安装 Node.js 和 npm 包管理器。接着,你可以通过以下命令来安装 mern-scripts 包:

--- ------- -- ------------

基本用法

创建一个新的 MERN 应用程序

要创建一个新的 MERN 应用程序,你可以在终端中执行以下命令:

---- ---- ------
-- ------

这个命令将在当前目录下创建一个名为 my-app 的新目录,并在其中初始化一个新的 MERN 应用程序。

运行 MERN 应用程序

要启动应用程序开发服务器,只需在 my-app 目录下运行以下命令:

--- --- -----

然后,你可以在浏览器中打开 http://localhost:8000,查看应用程序。

编译前端代码

要编译前端代码,只需运行以下命令:

--- --- -----

这个命令将在 my-app/build 目录中生成一个生产就绪版本的应用程序。把这个目录的内容复制到你的服务器中,即可部署应用程序。

运行生产版本的应用程序

要启动生产版本的应用程序,只需运行以下命令:

--- --- -----

这个命令将启动一个静态文件服务器,并在 http://localhost:9000 上监听客户端请求。要在生产环境中运行 MERN 应用程序,需先按照上一节所述编译应用程序。

运行测试代码

如果你想在应用程序中编写测试代码,可以使用以下命令来运行测试:

--- ----

mern-scripts 使用 Jest 测试框架,所以你需要使用 Jest 语法来编写你的测试代码。

高阶用法

增加后端服务并配置代理

如果你要将 MERN 应用程序与自己的 API 服务集成(部署在不同的主机和端口上),然后将 API 请求代理到本地开发服务器,你可以在 my-app/package.json 文件中增加以下配置:

-
  -------- ------------------------
  ---------- -
    -------- ----- -------
    -------- ----- -------
    -------- ----- -------
    ------- ----- -----
  -
-

这个配置项设置了代理选项,告诉 webpack 开发服务器发送请求时,应该将请求代理到主机名为 localhost、端口为 3000 的服务器上。如果你没有提供 API 域名和端口,那么这个代理配置项将是你最好的选择。

配置 Redux 增强工具

在开发过程中,你可能需要使用 Redux 开发应用程序的状态管理,mern-scripts 包提供了 Redux 浏览器增强工具来帮助你调试和监控 Redux 状态。

你只需要在你的应用程序的主入口点中增加以下代码即可:

------ - ------------------- - ---- ---------------------------
------ - ----------- - ---- -------
------ ----------- ---- ------------

----- ----- - ------------
  ------------
  ---------------------
--

作为这个配置的一部分,你需要确保在开发过程中安装 Redux DevTools Extension 浏览器扩展程序。如果你正在使用 Google Chrome 浏览器,你可以从 Chrome Web Store 下载它;如果你使用的是其他浏览器,则需要查找适用于该浏览器的版本。

修改 webpack 配置

如果你需要修改 webpack 配置文件以支持不同的源代码结构(如 Sass 或 LESS 样式表语言、TypeScript 等),可以在项目根目录下创建一个名为 mern.config.js 的文件,并在其中覆盖 mern-scripts 中的默认配置。以下是一个使用 Sass 的示例配置:

-------------- - -
  -------- -------- - ------- -- -- -
    --------------------------
      ----- ----------
      ---- -
        - ------- -------------- --
        - ------- ------------ --
        - ------- ------------- -
      -
    ---

    ------ -------
  -
-

这个配置向 webpack 添加了一个新的 Sass 风格表加载器,并从 Sass 文件中解析样式表。

结论

通过使用本文中介绍的技术和工具,你可以在短时间内构建一个 MERN 应用程序,而不需要花费大量时间来配置并使用复杂的工具链。mern-scripts 包提供了丰富的功能,可以使你的应用程序开发和部署流程变得更加快速和简便。

如果在使用中有任何问题或问题,请查看 mern-scripts 文档,或者在 mern.io 社区论坛 上发布问题。祝你在构建 MERN 应用程序中成功和愉快!

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600567fa81e8991b448e41fa


猜你喜欢

  • npm包node-health-checker使用教程

    前言 随着互联网应用的发展,系统的健康状态越来越重要,特别是对于较大的网站应用,为了确保服务的可用性和稳定性,需要对系统的运行状态进行监控和检测。而node-health-checker这款npm包就...

    3 年前
  • npm 包 react-native-dropdown-box 使用教程

    本文将介绍如何使用 react-native-dropdown-box,这是一个 React Native 下的下拉框组件。我们将从如何安装和导入该组件开始,然后详细讲解如何配置和使用。

    3 年前
  • npm 包 reddit-js-sdk 使用教程

    在开发前端项目时,我们通常需要与后端交互数据,其中最常见的就是通过 API 接口获取数据。而 Reddit 提供了完善的 API,让我们可以在自己的项目中方便地获取 Reddit 上的数据。

    3 年前
  • npm 包 skylarkjs 使用教程

    npm 包 skylarkjs 使用教程 什么是 skylarkjs skylarkjs 是一个专注于 Web 前端开发的 JavaScript 库,提供了一系列常用的前端组件和工具函数。

    3 年前
  • npm 包 vue-switch-elsewares 使用教程

    在前端开发中,我们经常需要根据特定的条件判断来展示不同的内容。Vue.js 是一个流行的 JavaScript 应用程序开发框架,其代码易于理解和维护。但是,当我们面临多个条件判断时,经常需要编写复杂...

    3 年前
  • npm 包 @nhz.io/arm 使用教程

    简介 @nhz.io/arm 是一个前端开发中常用的 npm 包,该包封装了一系列前端开发过程中常见的函数方法,使得在开发过程中能够更加高效地进行代码编写。 本文将详细介绍 @nhz.io/arm 包...

    3 年前
  • npm 包 @practo/build-message-webpack 使用教程

    简介 @practo/build-message-webpack 是一个针对 Webpack 打包过程中消息打印的插件,能够替换 Webpack 默认的消息输出形式。

    3 年前
  • npm包mo-dom使用教程

    简介 mo-dom是一个轻量级的JavaScript库,用于处理DOM元素。它有许多方便的功能,例如选择器,节点操作,样式设置和事件处理。本文将介绍如何安装和使用该库。

    3 年前
  • npm 包 unity-package-decrypt 使用教程

    在前端开发中,我们常常需要使用npm包来解决各种问题,而unity-package-decrypt是一款非常实用的npm包,专门用于解密Unity3D打包游戏的安装包,本文将详细介绍unity-pac...

    3 年前
  • npm 包 @practo/manifest-revision-formatter-webpack 使用教程

    前言 在 Web 开发中,我们常常需要对静态资源进行版本控制,比如将 style.css?v=1.0.0 转化为 style.css?v=1.0.1。而随着项目越来越大,手动修改静态资源版本号的难度也...

    3 年前
  • npm 包 net-particles 使用教程

    介绍 npm 包 net-particles 是一款基于 Canvas 的粒子动画库,可以实现各种炫酷的背景效果。该库提供了多种参数以控制粒子的数量、速度、大小、颜色等。

    3 年前
  • npm 包 @lisbakke/react-native-pulse 使用教程

    在 React Native 开发中,我们常常会需要用到动画效果来增强用户体验。而 @lisbakke/react-native-pulse 就是一个非常好用的 React Native 动画库。

    3 年前
  • npm 包 mt-provider 使用教程

    在前端开发过程中,我们经常需要使用第三方工具和库来实现我们的需求。npm 是一个非常流行的 JavaScript 包管理器,其中包括了许多优秀的开源项目。其中一个 npm 包,即 mt-provide...

    3 年前
  • npm 包 plusplusminus-react-flexbox-grid-aphrodite 使用教程

    plusminus-react-flexbox-grid-aphrodite 是一个提供了轻量级弹性布局和栅格系统的 npm 包。它利用了 React 和 Aphrodite 技术,提供了快速、灵活的...

    3 年前
  • npm 包 eslint-config-kakadiadarpan 使用教程

    引言 在前端开发中,代码质量一直是一个重要的话题。为了保证代码的可读性、可维护性和可扩展性,前端开发人员需要使用代码规范和相关的工具,例如 eslint。 eslint 是一个非常流行的 JavaSc...

    3 年前
  • npm 包 react-mapbox-gl-ssta 使用教程

    React 是前端开发中非常流行的一个框架,它的生态系统中有众多优秀的第三方库和工具,其中就包括 Mapbox-gl-js,一个强大的交互式地图库。而 react-mapbox-gl-ssta 是来自...

    3 年前
  • npm 包 @wandiparis/stylelint-config-wandi 使用教程

    在前端开发过程中,为了保证代码的一致性和规范性,我们通常会使用一些代码检查工具。而 stylelint 就是一款用于检查样式代码的工具。而通过安装并使用 @wandiparis/stylelint-c...

    3 年前
  • npm 包 extend-prototype 使用教程

    前言 在前端开发中,我们常常会遇到需要对 JavaScript 的内置对象进行扩展的情况。比如,对 String、Array 等对象添加自定义的方法,以便在项目开发过程中能够更加高效地开发。

    3 年前
  • npm 包 redux-hoc 使用教程

    redux-hoc 是一个基于 React 和 Redux 的高阶组件库,帮助前端开发者优化 Redux 的使用体验,提高开发效率。本文将详细介绍 redux-hoc 的使用方法及示例,让你轻松上手。

    3 年前
  • npm 包 @trp/react-framework 使用教程

    简介 @trp/react-framework 是一个基于 React 的前端框架。它具有可扩展、易用、高效的特点,适用于中大型项目的开发。 安装 要使用 @trp/react-framework,我...

    3 年前

相关推荐

    暂无文章