根据http://www.slant.co/topics/1089/viewpoints/1/~what-are-the-best-client-side-javascript-module-loaders~browserify#9,使用Browserify的一个缺点是:
并非所有javascript库都有npm版本
虽然为现有库创建npm包并不太难,但它意味着在库更新时维护它。虽然大多数库现在都在npm上,但许多客户端特定的库都没有。
除了知道如何install
现有模块之外,我没有任何关于npm的经验。鉴于此,使用客户端非npm库进行浏览时最简单/最好的方法是什么?
我有办法将本地Javascript文件声明为依赖项,而不是通过npm查找吗?
答案 0 :(得分:6)
您可以通过两种方式使用本地模块而不会出现问题:
1.使用require
中的模块的相对路径:
var myModule = require('../js/my-module');
2.使用模块名称,但在此之前,您应该将其添加到browser
中的package.json
属性中:
的package.json:
...
browser: {
my-module: './js/my-module.js'
}
app.js:
var myModule = require('my-module');
答案 1 :(得分:1)
有些软件包是带有bower的软件包,可以使用debowerify插件与browserify一起使用。
对于非版本化的东西,您可以将它们复制到项目中的lib目录中,或者将它们添加为git子模块,然后配置browserify以便它也可以在那里找到它。