将外部lib绑定到我自己的javascript库中
Bundle external lib to my own javascript library
我正在尝试构建一个库,我想使用fabricjs作为它的依赖项之一。对于那些安装了fabric的人来说,他们知道安装它并不是一件小事(它需要特定的库、特定的节点版本等)。我已经成功地将包安装到了我的项目中,并且我正在成功地使用它。
我想知道的是,将我的特定库作为一个包发布到npm注册表。
我的问题是,我发布了我的包,当有人想安装我的包时,我会将同样的复杂性"转移"给她/他。我的库的用户如何在不首先执行与安装fabricjs包相同的步骤的情况下安装它?
我研究了bundledDependencies属性,但没有取得多大成功。
我不认为自己是javascript专家,所以我的问题可能根本错误。。
我目前正在使用npm,我也熟悉webpack,如果可以的话。发布i do(从package.json):
"scripts": {
"build": "babel ./src --out-dir ./lib",
...
最后,我通过一些webpack帮助解决了这个问题,解决方案是使用webpack构建,所有库都将捆绑在一个文件中,详细信息如下:
1) 创建一个webpack配置(比如说webpack.cfg.js)如下(这里有帮助):
module.exports = {
entry: {
src: './src'
},
output: {
path: path.join(__dirname, 'lib'),
filename: 'index.js',
libraryTarget: 'umd'
},
//Use externals to exclude libraries
//externals: ['lodash'],
resolve: {
extensions: ['', '.js']
},
module: {
loaders: [
{
test: /'.(js|jsx)$/,
include: [srcPath],
exclude: /(node_modules|bower_components|lib)/,
loaders: ['babel']
}
]
}
...
}
2) 然后使用构建
"scripts": {
"build": "webpack --config webpack.cfg.js --display-modules",
....
}
它是有效的,任何外部lib都包含在生成的index.js中,就像一个胖罐子(对于java世界)
我的2美分
相关文章:
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- 将外部lib绑定到我自己的javascript库中
- 我可以在(加载的)页面上运行我自己的javascript吗
- 如何通过Bluebird承诺您自己的javascript api,该api使用另一个承诺的api
- 如何创建自己的JavaScript api,类似于Google Analytics
- 使用自己的 JavaScript 函数加载地图图块
- 允许用户将自己的 JavaScript 插入我们的 Web 应用程序会产生哪些安全后果?
- 编写自己的 JavaScript 并使用 Yii PHP 框架
- 如何使我自己的javascript Math方法工作
- 在 AJAX 函数中添加自己的 javascript 函数 ASP.NET
- 我自己的JavaScript库出现错误.可以'我不知道它在哪里
- 我自己的javascript类和addeventlistener模板不工作
- 在构建自己的JavaScript库或jQuery插件时,我是否必须避免侵入性?
- 需要智能感知或自动完成功能为我自己的javascript文件
- 加载自己的javascript文件到每个网站
- 自己的JavaScript库的体系结构
- 如何在我自己的javascript命名空间中的对象构造函数中使用JQuery
- 安全问题 - 允许用户添加自己的 JavaScript(仅在运行时)
- 我已经编写了自己的JavaScript代码库,但我仍然无法生成种子信息哈希
- 我怎么能调用我自己的javascript API上我的SWF动态嵌入使用swobject