在这里拉我的头发寻找一个简单的解决方案来共享代码,通过 NPM 需要,跨多个 Browserify 或 Webpack 包。想一想,有没有文件“桥”之类的东西?
这不是由于编译时间(我知道 watchify),而是希望将我所有的供应商特定库提取到其中vendor.js
以保持我的app.js
文件大小并且不会因大量源映射而使浏览器崩溃。另外,如果需要查看已编译的 js,我发现它会更干净。所以:
// vendor.js
require('react');
require('lodash');
require('other-npm-module');
require('another-npm-module');
从 NPM 加载代码而不是从 Bower 加载代码非常重要,或者保存到某个“供应商”目录中,以便通过相对路径导入并通过 shim 识别。我想保留通过 NPM 提取的所有库引用,除了我的实际应用程序源。
在app.js
我保留所有源代码中,并通过externals
数组从编译中排除上面列出的供应商库:
// app.js
var React = require('react');
var _ = require('lodash');
var Component = React.createClass()
// ...
然后在index.html
,我需要这两个文件
// index.html
<script src='vendor.js'></script>
<script src='app.js'></script>
使用 Browserify 或 Webpack,我怎样才能使它app.js
可以“看到”通过 npm 加载的那些模块?我知道创建一个带有外部的捆绑包,然后node_modules
通过别名引用直接文件(例如,在 中),但我希望找到一个更自动且更少“Require.js”之类的解决方案。
基本上,我想知道是否可以将两者连接起来,以便app.js
可以查看内部vendor.js
以解决依赖关系。这似乎是一个简单直接的操作,但我似乎无法在这个广阔的网络上的任何地方找到答案。
谢谢!