如何为 javascript 中的模块定义导出?

How to define export for a module in javascript?

嘿,我正在使用 react-app 做一个小项目,我 一整天都在尝试为 this module 创建导出。

我已经用 npm 安装了它,我想编辑它以便我可以在我的 app.js

中导入和使用它

我尝试使用 class\function\let 定义 "reddit" 并使用:

export default
module.exports

或者

 import reddit from 'reddit.js';
 var reddit = require('reddit.js');

并尝试使用模块中的一个简单函数进行检查:

console.log(reddit.hot('cats'));

但我仍然得到:

Uncaught TypeError: reddit.hot is not a function

我有点迷茫,我做错了什么?

模块使用了window.reddit全局变量。不要覆盖它! 因此,如果您在客户端,只需使用:

require('reddit.js')
//...
reddit.hot('cats')

对于服务器端 - 你必须做一些技巧才能让它工作,因为在服务器端你没有 'window' 全局变量。

更新:

后端使用示例:

const window = {};
const r = require('./reddit.js') // You don't really use r 
const reddit = window.reddit;

reddit.hot('cats')

Reddit 不导出任何内容,因为它主要设计为作为脚本标签添加!

// So for CommonJS module:
require('reddit.js');

//And for ES6 modules
import 'reddit.js';

并且您将能够通过 window 对象访问 reddit 和 reddit.hot() 方法。