【问题标题】:How do you include a 3rd party npm in apostrophe-cms?您如何在 apostrophe-cms 中包含第 3 方 npm?
【发布时间】:2017-11-07 23:51:55
【问题描述】:

我想在撇号 cms 中使用 https://www.npmjs.com/package/youtube-parser。我在哪里添加 var youTubeParser = require('youtube-parser');所以我可以从小部件的 always.js 文件中访问 if

【问题讨论】:

    标签: apostrophe-cms


    【解决方案1】:

    youtube-parser 似乎是一个节点模块。 always.js是浏览器端的javascript文件,不能在这个文件中使用youtube-parser。

    但是,您可以在服务器端的小部件 index.js 文件中执行此操作。

    var youtubeParser = require('youtube-parser');
    // in lib/modules/your-widgets/index.js
    
    module.exports = {
      extend: 'apostrophe-widgets',
      addFields: [
        // widget's fields
      ],
      construct: function(self, options) {
        // Override output function to pass some vars to the widget.html template
        self.output = function(widget, options) {
          // Here your youtube parsing stuff
          // Store your result on widget property
          widget.youtuberesult = {};
          var result = self.partial(self.template, { widget: widget, options: options, manager: self });
          return result;
        };
      }
    };
    

    【讨论】:

    • 第一行有错字,应该是“var”,而不是行首的“require”。此外,根据他真正想做的事情,他可能需要在允许异步代码的情况下执行此操作,例如在 load 方法中,或通过播放器回调的路由以避免在等待 YouTube 时阻塞页面呈现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多