我们应该在 --save 或 --save-dev 模式下安装 react 和 react-dom 吗?

pho*_*nix 4 reactjs webpack babeljs react-dom

一些教程使用--save 模式,而一些使用--save-dev 模式。

两个都用 Babel,说是用来把 React 转成浏览器可以理解的纯 Javascript。这意味着最终的捆绑包将包含 Javascript。在这种情况下,为什么我们需要在 --save 模式下安装 react 和 react-dom ?--save-dev 模式应该足够了吧?

另外,像 import React from 'react' 这样的语句,它们会进入 prod 构建包文件吗?如果没有,如果 React 在相应的范围/内存空间中不可用,像 React.createClass 这样的语句如何工作?

Sid*_*ney 6

--savemode 用于您的应用程序在运行时将使用的包,例如 React。--save-dev用于帮助您开发的软件包,如 linter、模块捆绑器、转译器(例如 Babel)。

这种分离几乎完全是为了您的利益——将所有内容放入您的主要依赖项中--save不会破坏任何内容,但它被认为是糟糕的组织。

顺便说一句,NPM 5 及更高版本将自动保存包,因此--save不再需要该标志。(您仍然需要使用--save-dev将包标记为“开发依赖项”)。

另外,像 import React from 'react' 这样的语句,它们会进入 prod 构建包文件吗?如果没有,如果 React 在相应的范围/内存空间中不可用,像 React.createClass 这样的语句如何工作?

是的,这import React from 'react'最终会出现在捆绑包中,但使用的是常规 JavaScript 函数而不是导入语句。您可以在文本编辑器中打开捆绑文件以查看您的代码已转换成什么。