尝试使用此智能表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文件,但我完全确定。任何文档或建议的链接都非常感谢!
答案 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 文件。
它对我有用!