使用“导入”与节点库,而不是“要求”?
新手节点问题在这里。
我正在尝试将Google Cloud Node客户端与现有的应用程序(不是我写的)捆绑在一起的代码与汇总。
我已经尝试导入与要求的库,按照其文档,如下所示:
import REGL from "regl/dist/regl"; import Camera from "./lib/camera"; ... var gcloud = require('google-cloud');
但是我的应用程序抱怨(CLARIFICATION:它只会在我添加require
语句时开始产生这个错误,否则导入工作正常):
'import' and 'export' may only appear at the top level
所以,也许我需要使用import gcloud
而不是require
,但是如何? 我试着看node_modules
中的代码,而不是这样做:
import gcloud from "google-cloud/src/index";
但现在我得到了一堆其他的错误
🚨 Unexpected token node_modules/google-cloud/node_modules/ent/reversed.json (2:7) 1: { 2: "9": "Tab;", ^
我怎样才能使用import
而不是require
,或者,我怎样才能使require
与import
很好地玩?
导入是ES6语法。 您必须使用nodejs的实验性标志,或者使用babel来编译您的js,以便与ES6兼容。
编辑:由于问题是与要求,而不是导入,我更新我的答案。
我不确定你设置的是什么,但是这是因为,我猜测,谷歌云不是写在es6。 所以你必须看看在src中是否有es6版本。 如果有你可以尝试(我怀疑这会起作用)
尝试:
import * as gcloud from 'google-cloud'
如果这不起作用 – 尝试像铆钉一样的匀场模块。 你需要webpack来编译这个。 由于您使用的是我不熟悉的rollup.js,因此需要使用es5来编译es6。