需要未定义 nodejs

joh*_*nnE 5 javascript node.js smartsheet-api

尝试使用这个 smartsheet api:http ://smartsheet-platform.github.io/api-docs/?javascript#node.js-sample-code

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

var client = require('smartsheet');
var smartsheet = client.createClient({accessToken:'ACCESSTOKEN'});
Run Code Online (Sandbox Code Playgroud)

因此,我在 main.js 文件中执行此操作,但出现错误:未捕获的 ReferenceError:需要未定义

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

gya*_*eep 26

尝试从 package.json 中删除 "type": "module"

  • 注意:这样做会阻止使用 ES6 风格的模块 (5认同)
  • 但现在我无法加载其他模块?现在我收到“无法在模块外部使用 import 语句”错误 (2认同)

小智 6

将所有 require 语句替换为 import 语句。例子:

//BEFORE:
var client = require('smartsheet');
//AFTER:
import client from 'smartsheet';
Run Code Online (Sandbox Code Playgroud)

为我工作。


Shu*_*tal 2

这是因为您在浏览器中使用特定于节点的调用!NodeJS 是一种服务器端技术,而不是浏览器技术。因此,特定于节点的调用仅在服务器中有效。

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

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

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