首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当在--保存-dev包中使用时,生产包是如何工作的?

当在--保存-dev包中使用时,生产包是如何工作的?
EN

Stack Overflow用户
提问于 2021-08-16 13:15:54
回答 2查看 254关注 0票数 3

我正在使用一个反应剩余过程,我们使用npm install --save-dev redux-devtools-extension安装了Redux,并像这样使用它:

代码语言:javascript
复制
import { composeWithDevTools } from 'redux-devtools-extension'

const store = createStore(
  reducer,
  composeWithDevTools()
)

我的理解是--save-dev标志意味着这个包不会在生产中使用。本课程的下一节将介绍Redux并使用npm install redux-thunk进行安装。如果我没有弄错,这意味着这个包装将用于生产。然而,在本课程中使用的是以下内容:

代码语言:javascript
复制
import thunk from 'redux-thunk'
import { composeWithDevTools } from 'redux-devtools-extension'

const store = createStore(
  reducer,
  composeWithDevTools(
    applyMiddleware(thunk)
  )
)

thunk在使用--save-dev安装的包函数中使用。由于该版本不会安装redux-devtools-扩展,这在生产中如何工作?

EN

回答 2

Stack Overflow用户

发布于 2021-08-16 13:40:26

-save-dev将第三方包添加到包的开发依赖项中。当有人运行npm安装直接安装你的软件包时,它不会被安装。通常只有当有人先克隆您的源存储库,然后在其中运行npm安装时,才会安装它。

票数 0
EN

Stack Overflow用户

发布于 2021-08-16 13:56:39

一个简单的答案是no,它不应该在生产中工作。当您在dev模式下安装依赖项时,它应该仅用于开发目的。当您通过--save-dev标志安装依赖项时,依赖项不会绑定到生产代码中。由于您在代码中包含了依赖项,而没有任何条件语句(if语句)来确定您是否处于开发模式,并且仅在dev模式下安装了依赖项,所以代码已经在

代码语言:javascript
复制
import { composeWithDevTools } from 'redux-devtools-extension'

如果您确实希望只在dev环境中使用dev工具,请在非dev模式下安装它,并使用以下导入语句:

代码语言:javascript
复制
import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';

同时,如果您只想在生产中使用它,请导入它。

代码语言:javascript
复制
import { composeWithDevTools } from 'redux-devtools-extension/logOnlyInProduction';

如果您想以任何一种方式使用这个dev工具,那么您可以使用back第一个import语句,因为它不会检查您的环境。

如果第一条语句在生产环境中运行良好,那么作者/协作者就没有必要在库的源代码中包含developmentOnly和logOnlyInProduction变体。

每个变量的差异可在src代码中找到:

https://github.com/zalmoxisus/redux-devtools-extension/blob/c220fd18d6fb4b0790a501ec4df0de52b5bee460/npm-package/logOnly.js#L40

https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/developmentOnly.js

https://github.com/zalmoxisus/redux-devtools-extension/blob/master/npm-package/logOnlyInProduction.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68803474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档