【问题标题】:using a coffeescript node module in a nodejs project在 nodejs 项目中使用咖啡脚本节点模块
【发布时间】:2015-11-19 23:20:59
【问题描述】:

我正在玩一个名为filings的节点模块

当我第一次使用它时,我做了一个git clone 来将该项目放入本地目录,在那里我运行npm install 然后grunt 将所有咖啡脚本构建到 JS 中并安装依赖项。

效果很好,我最终得到了一个 /lib 目录,其中包含 13 个文件。

现在,我正在尝试在单独的节点项目中使用该模块,因此我使用 npm install filings 安装它并创建了一个 node_modules/filings/lib 目录,但它只有 6 个文件和一堆功能不见了。

我之前从未将咖啡脚本节点模块安装到常规节点项目中,我可以做些什么来让它在我的项目中正确构建?

【问题讨论】:

    标签: node.js coffeescript gruntjs


    【解决方案1】:

    这是npmjs.org 上的包的问题:如果我们从存储库中克隆一个模块,安装它,然后使用npm pack 制作包,那么我们将获得与包管理器完全不同的包内容来安装在网站上:

    http://registry.npmjs.org/filings/-/filings-0.2.0.tgz

    【讨论】:

      【解决方案2】:

      coffee-script 要求(一般来说)

      如果您之前使用coffee-script/register,则可以从 javascript 文件中获取咖啡脚本文件。

      因此你需要在本地安装coffee-script:

      $ npm install coffee-script --save
      

      并在您的代码中使用它:

      require('coffee-script/register');
      require('youre-coffee-script-module');
      

      使用归档模块

      文件的基本设置

      模块本身的主脚本设置为./lib/filings.js

      lib文件夹由grunt-task publish编译

      发布任务本身是通过prepublish-script 触发的。因此,每当 package-auther 通过npm publish 发布他的包时,lib-sources 就会被构建,之后编译的包就会被发布。

      .npmignore 文件中,所有源文件和测试文件都被忽略,因此没有发布到 npm!

      如何解决您的问题

      我只看到了 2 个或多或少干净的可能性:

      1. 打开一个问题,并要求 package-auther 将新版本发布到 npm

      2. 创建一个分叉,并使用分叉

      a) 分叉回购

      b1) 添加一个运行 grunt-default-task gruntpostinstall-Property:

      "scripts": {
        "postinstall": "grunt"
      }
      

      或 b2)创建一个 index.js 文件,您需要我上面指出的咖啡源

      c) 从你的 repo 安装包:npm install git+ssh://git@github.com:YOURGITHUBUSERNAME/filings.git

      d) 如果你使用 b2 版,可能会创建一个拉取请求

      【讨论】:

        猜你喜欢
        • 2021-08-17
        • 2012-02-18
        • 1970-01-01
        • 2012-07-26
        • 2013-08-30
        • 1970-01-01
        • 1970-01-01
        • 2011-11-08
        • 2012-10-12
        相关资源
        最近更新 更多