javascript - 如何将 opening_hours.js 包含到 node.js 脚本中?

标签 javascript node.js

我想使用 opening_hours.jsnode.js shell 脚本中。图书馆及其依赖 SunCalc在本地可用:

  • js/suncalc.js
  • js/opening_hours.js

我想在脚本中使用 opening_hours.js,如下所示:

#!/usr/bin/env node

// TODO: load libraries

var oh = new opening_hours('We 12:00-14:00');

感兴趣的可能是以下 javascript 文件的摘录:

来自 opening_hours.js:

// make the library accessible for the outside world {{{
if (typeof exports === 'object') {
    var moment, SunCalc, i18n;
    // For Node.js.
    SunCalc = root.SunCalc || require('suncalc');
    try { // as long as it is an optional dependency
        moment = root.moment || require('moment');
    } catch (error_pass) { error_pass }
    try { // as long as it is an optional dependency
        i18n = require('./locales/core');
    } catch (error_pass) { error_pass }
    module.exports = factory(SunCalc, moment, i18n, holiday_definitions, word_error_correction, lang);
} else {
    // For browsers.
    root.opening_hours = factory(root.SunCalc, root.moment, root.i18n, holiday_definitions, word_error_correction, lang);
}
//* }}} */

来自 suncalc.js:

// export as AMD module / Node module / browser variable
if (typeof define === 'function' && define.amd) define(SunCalc);
else if (typeof module !== 'undefined') module.exports = SunCalc;
else window.SunCalc = SunCalc;

最佳答案

问题是 opening_hours.js 期望将 SunCalc 安装为 NPM 模块。您需要更新您发布的代码中的 require 语句以指向本地 SunCalc 文件:

// make the library accessible for the outside world {{{
if (typeof exports === 'object') {
    var moment, SunCalc, i18n;
    // For Node.js.
    SunCalc = root.SunCalc || require('./suncalc'); // CHANGED
    try { // as long as it is an optional dependency
        moment = root.moment || require('moment');
    } catch (error_pass) { error_pass }
    try { // as long as it is an optional dependency
        i18n = require('./locales/core');
    } catch (error_pass) { error_pass }
    module.exports = factory(SunCalc, moment, i18n, holiday_definitions, word_error_correction, lang);
} else {
    // For browsers.
    root.opening_hours = factory(root.SunCalc, root.moment, root.i18n, holiday_definitions, word_error_correction, lang);
}
//* }}} */

关于javascript - 如何将 opening_hours.js 包含到 node.js 脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34807929/

相关文章:

javascript - 如何在 JavaScript 中的 map 函数中创建字典/ HashMap ?

javascript - 通过编程导航 Vue.js 传递 Prop

javascript - 为什么没有在内容脚本中应用某些 CSS?

javascript - 在 Handlebars partial 中将导航菜单项设置为事件状态

javascript - "npm isntall"命令存在

javascript - JS 类实例通信

php - 在非 Node.js PHP 应用程序上运行 Steemconnect

mysql - 如何根据请求获取有关连接 ID 的信息?

javascript - 从 JavaScript 中的 JSON 对象访问多级 key

node.js - 如何使用 Node 将 ReactJS 组件渲染为 HTML 字符串?