Paw*_*weł 5 dependencies package npm webpack
package.json
dependencies
当我使用 webpack 时,将任何模块放入其中有意义吗?
当我想开发一个包时,我使用git clone <url>
then npm install
,然后 npm 安装所有dependencies
和devDependencies
来自package.json
文件的文件,这是有道理的。
当我最终用户和我只是想一些软件包安装到我node_modules
在我的项目中使用它,我跑npm install package-name
,然后NPM安装package-name
与唯一的dependencies
,是有意义了。
但是dependencies
在我使用时放入任何模块有意义webpack
吗?webpack 会将所有依赖项打包到 eg. bundle.js
,所以,对我来说,那时不需要安装依赖项(当它们被包含到bundle.js
文件中时)。
假设我为我的项目将所有必要的模块放入devDependencies
(保持dependencies
对象为空)my-project
:,将其与 webpack 捆绑并发布:
git clone <url to my_project>
,然后运行npm install
,那么NPM将安装devDependencies
由package.json
(和ommit空的dependencies
对象),那么它已准备好下发展。npm install my-project
,然后 npm 将安装my-project
,不安装devDependencies
(因为这是用于生产)并且不安装dependencies
(因为dependencies
对象package.json
保持为空)。将任何内容放入其中dependencies
会使依赖项加倍:将安装两个依赖项,并且可以在bundle.js
文件中访问相同的依赖项。我对吗?
你是对的,一旦用 webpack 转译,可能就没有依赖关系了。但是,某些包是多用途的,并且可以多种方式使用,因此在某些情况下可能仍然需要依赖项。
如果您查看package.json
规范,就会发现有两个可能的入口点:“主”和“浏览器”。还有建议的“模块”入口点。目前正在讨论如何在 webpack 中处理这些,并且用户似乎希望 webpack 将它们优先考虑为module > browser > main
,但browser
目前由 webpack 首先使用。
按顺序对它们进行优先级排序背后的想法module > browser > main
大概是浏览器可以直接在“浏览器”中使用预转译的内容,而调用require()
或include()
在您的包上的另一个项目将使用“模块”条目中的非转译代码。“模块”入口代码可以包含具有新功能的现代 JavaScript,然后需要它的项目/包可以将其转换为自己的规范,例如使用“ browserslist ”。
我发现这个问题是因为我想知道同样的事情......
归档时间: |
|
查看次数: |
710 次 |
最近记录: |