Javascript 使用「;进口;使用节点库,而不是;“需要”吗;?

Javascript 使用「;进口;使用节点库,而不是;“需要”吗;?,javascript,node.js,Javascript,Node.js,这里是新手节点问题 我正在尝试将与现有应用程序(不是我编写的)一起使用,该应用程序将其代码与汇总绑定在一起 根据其文档,我已尝试使用require导入库,如下所示: import REGL from "regl/dist/regl"; import Camera from "./lib/camera"; ... var gcloud = require('google-cloud'); 但是我的应用程序抱怨(澄清:只有当我添加require语句时,它才会开始产生此错误,否则导入工作正常

这里是新手节点问题

我正在尝试将与现有应用程序(不是我编写的)一起使用,该应用程序将其代码与汇总绑定在一起

根据其文档,我已尝试使用require导入库,如下所示:

 import REGL from "regl/dist/regl";
 import Camera from "./lib/camera";
 ...
 var gcloud = require('google-cloud');
但是我的应用程序抱怨(澄清:只有当我添加
require
语句时,它才会开始产生此错误,否则导入工作正常):

因此,也许我需要使用
import gcloud
而不是
require
,但是如何使用呢?我尝试查看
node\u modules
中的代码,然后改为:

import gcloud from "google-cloud/src/index";
但现在我又犯了一大堆错误

import is ES6 syntax. You either must use an experimental flag with nodejs or use babel to compile your js to be ES6 compatible.

EDIT: Since the problem is with require and not import, i'm updating my answer.

I'm not sure what you're setup is but it's because, i'm guessing, google-cloud isn't written in es6. So you'll have to see if there's an es6 version in the src. If there is you could try (I doubt this will work)

Try:

import * as gcloud from 'google-cloud' 

导入是ES6语法。您必须在nodejs中使用实验性标志,或者使用babel来编译js,使其与ES6兼容

编辑: 因为问题是require而不是import,所以我正在更新我的答案


我不确定你的设置是什么,但我猜,这是因为谷歌云不是用es6编写的。因此,您必须查看src中是否有es6版本。如果有的话,你可以试试(我怀疑这会起作用)

尝试:


如果这不起作用-尝试一个填隙模块,如铆接。你需要一个网页来编译这个。因为您使用的是rollup.js,我不熟悉它,所以您需要一个es5到es6的编译器来实现这一点。

导入是es6语法。您必须在nodejs中使用实验性标志,或者使用babel来编译js,使其与ES6兼容

编辑: 因为问题是require而不是import,所以我正在更新我的答案


我不确定你的设置是什么,但我猜,这是因为谷歌云不是用es6编写的。因此,您必须查看src中是否有es6版本。如果有的话,你可以试试(我怀疑这会起作用)

尝试:


如果这不起作用-尝试一个填隙模块,如铆接。你需要一个网页来编译这个。由于您使用的是rollup.js,我对它不熟悉,因此您需要一个es5到es6编译器。

在添加
var gcloud=require('google-cloud')
?@Tope yes之前,所有代码都很有趣吗,只是添加了导致问题的需求。如果您没有解释如何设置项目环境以支持导入,则很难期望得到答案。您使用的是babel、webpack、browserify还是node.js harmony功能?哦,没关系,我刚才看到你在使用rollup。在添加
var gcloud=require('google-cloud')
?@Tope是的,只是添加了导致问题的需求。如果您没有解释如何设置项目环境以支持导入,则很难期望得到答案。您使用的是babel、webpack、browserify还是node.js harmony功能?哦,没关系,我刚才看到你在使用rollup.OK-现有的
导入
工作正常,是
要求
导致了问题。我需要对
gcloud
库做些什么才能使其与ES6兼容?我不确定您的设置是什么,但我猜这是因为google cloud不是用ES6编写的。因此,该模块中没有export.modules。尝试:从“谷歌云”导入*为gcloud。如果这不起作用-尝试一个填隙模块,如铆接。您需要webpack来编译此文件。@Garuuk他使用的是rollup,而不是webpack。谢谢Patrick,我不熟悉rollup-我确信Richard需要一个es5到es6等效的加载程序来进行汇总。好的-现有的
导入
工作正常,是
需要
导致了问题。我需要对
gcloud
库做些什么才能使其与ES6兼容?我不确定您的设置是什么,但我猜这是因为google cloud不是用ES6编写的。因此,该模块中没有export.modules。尝试:从“谷歌云”导入*为gcloud。如果这不起作用-尝试一个填隙模块,如铆接。你需要webpack来编译这个。@Garuuk他使用的是rollup,不是webpack。谢谢Patrick,我不熟悉rollup-我确信Richard需要一个es5到es6等效的加载程序来进行rollup。
import is ES6 syntax. You either must use an experimental flag with nodejs or use babel to compile your js to be ES6 compatible.

EDIT: Since the problem is with require and not import, i'm updating my answer.

I'm not sure what you're setup is but it's because, i'm guessing, google-cloud isn't written in es6. So you'll have to see if there's an es6 version in the src. If there is you could try (I doubt this will work)

Try:

import * as gcloud from 'google-cloud'