【问题标题】:Same module/package for Bower and npmBower 和 npm 的相同模块/包
【发布时间】:2015-02-16 00:32:28
【问题描述】:

有没有办法编写一个单个模块/包,可以同时发布到 npmBower,而无需复制文件?

假设您有一个简单的 JS 文件,其中包含一些自包含的代码(即它没有任何外部依赖项)。

理想的目录应该是这样的:

/file.js
/package.json
/bower.json

在这种情况下,问题在于“file.js”与 npm 一起使用需要 module.exports 语句,而这不适用于 Bower。

那么,有没有办法避免生成两个几乎相同的独立文件?

【问题讨论】:

    标签: node.js module package npm bower


    【解决方案1】:

    这似乎是迄今为止最好的选择(受到 Angular 团队的启发)。

    在项目根目录中创建一个index.js 文件,内容如下:

    module.exports = require('your-original-module.js');
    

    然后,在package.json 中添加这一行:

    "main": "index.js",
    

    简单但有效!

    【讨论】:

      【解决方案2】:

      如果你的模块不依赖于其他 npm 模块, 你可以提供文件(让我们称之为'bowerify.js')

      window.MyUtility = require('./file');
      

      将您的实用程序公开为全局变量。

      然后使用browserify为浏览器打包你的代码:

      src: 'bowerify.js',
      dest: 'my_bower_module.js'
      

      现在您可以使用 bower 安装 my_bower_module.js。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-24
        • 2020-09-28
        • 1970-01-01
        • 2017-12-30
        • 2015-07-26
        • 1970-01-01
        相关资源
        最近更新 更多