Javascript 如何使用带连字符的ES6导入

Javascript 如何使用带连字符的ES6导入,javascript,ecmascript-6,Javascript,Ecmascript 6,我真的不知道如何做到这一点,也不知道如何谷歌 现在我有这个 let source = require('vinyl-source-stream'); 我想更改为导入,但这不起作用 import {'vinyl-source-stream' as source} from 'vinyl-source-stream'; 如果该模块甚至支持ES6导入/导出系统,那么您需要的是: import source from 'vinyl-source-stream'; 您的版本正试图从模块导入名为乙烯基

我真的不知道如何做到这一点,也不知道如何谷歌

现在我有这个

let source = require('vinyl-source-stream');
我想更改为导入,但这不起作用

import {'vinyl-source-stream' as source} from 'vinyl-source-stream';

如果该模块甚至支持ES6导入/导出系统,那么您需要的是:

import source from 'vinyl-source-stream';
您的版本正试图从模块导入名为
乙烯基源流
的导出值;相反,您只需要导入模块本身(在本例中,导入到名为
source
的对象中)

如果您希望导入模块中的所有内容,而不仅仅是默认导出,请使用以下选项:

import * as source from 'vinyl-source-stream';

但是,如果该模块实际上不是为使用新系统而编写的,那么这两种方法都不起作用。

此库不使用ES2015模块系统。它一点也没有,所以你不能从它或它

该库使用CommonJS模块模式(如图所示),旨在
require
ed

您可以使用以下内容导入库:

import form 'vinyl-source-stream';

这将导致代码被执行,但在这种情况下这将是无用的,因为不会发生任何(有用的)事情-事实上,您可能会因为未定义的
模块

而出现运行时异常
'venyly-source-stream'
看起来像什么?i、 如果没有连字符,它会工作吗?所以连字符真的是这里的问题吗?这是npm包