我正在尝试为项目使用Web组件 - 主要是由属性驱动的自定义元素,理想情况下由<link rel="import">
导入。
这就是问题所在:我无法找到关于在哪里粘贴我的组件依赖的任何外部库的确凿指导,例如moment.js甚至是jQuery。
我见过的大多数组件示例都严格使用vanilla JS。当他们使用外部库时,他们似乎经常使用Bower或npm删除它们并在组件的HTML中显式引用它们:
<script type="text/javascript"
src="/bower_components/jquery/dist/jquery.min.js></script>
这些天我更习惯使用webpack捆绑依赖项,所以这看起来有点奇怪。
我的问题:在组件目录中包含每个组件的库依赖项,或者在项目级别有一个中央node_modules
文件夹,它被认为是更好的形式吗? webpack如何适应这个?
在项目级别拥有一个中央node_modules
文件夹会更好。大多数人使用Webpack将代码与其依赖项捆绑在一起。他们使用require
或import
为每个组件提供模块。
a.component.js
import React from 'react'
import $ from 'jquery'
b.component.js
import React from 'react'
app.js
import A from 'a.component.js'
import B from 'b.component.js'
Webpack将有一个“条目”:app.js
并编译它output
:app.min.js
为什么?
npm
管理(更新,删除,添加)依赖项更容易。外部信息: