要求未定义nodejs

时间:2016-07-13 06:04:29

标签: javascript node.js smartsheet-api

尝试使用此智能表api:http://smartsheet-platform.github.io/api-docs/?javascript#node.js-sample-code

它告诉我为nodejs执行此操作:

var client = require('smartsheet');
var smartsheet = client.createClient({accessToken:'ACCESSTOKEN'});

所以我在main.js文件中执行此操作,但收到错误:未捕获的ReferenceError:require未定义

我认为它是因为我是nodejs / npm的新手,但我无法在任何地方找到它实际放置此需要函数。我想我需要弄乱我的node.js文件,但我完全确定。任何文档或建议的链接都非常感谢!

7 个答案:

答案 0 :(得分:13)

尝试从package.json中删除“类型”:“模块”

答案 1 :(得分:2)

这是因为您在浏览器中使用特定于节点的调用! NodeJS是服务器端技术,而不是浏览器技术。因此,特定于节点的调用只能在服务器中运行。

您尝试使用的smartsheet api需要从服务器端代码而不是客户端代码调用。

对于您的情况,您可以设置ExpressJS并创建一个内部调用smartsheet api的虚拟api。

如果您确实想在客户端使用此类调用,则可以使用CommonJS客户端实现

答案 2 :(得分:1)

替换所有require语句以导入语句。示例:

//BEFORE:
var client = require('smartsheet');
//AFTER:
import client from 'smartsheet';

为我工作。

答案 3 :(得分:0)

require() does not exist in the browser/client-side JavaScript

有关Client on node: Uncaught ReferenceError: require is not defined

的更多信息

答案 4 :(得分:0)

require()NodeJS中提供的一项功能,它不会对client/browser起作用,因为客户端没有像require()这样的内容

答案 5 :(得分:0)

您无法直接在浏览器中使用require。你需要RequireJS,一个JavaScript模块加载器。

这是RequireJS的介绍性说明。

  

RequireJS是一个JavaScript文件和模块加载器。它针对浏览器内使用进行了优化,但可以在其他JavaScript环境中使用,例如Rhino和Node。使用像RequireJS这样的模块化脚本加载器可以提高代码的速度和质量。

答案 6 :(得分:0)

技术上它内置在浏览器中,最好的办法是禁用项目中的 es-lint,所有这些错误都不会发生。 或者尝试注释整个 es-lint 文件。

它对我有用!