npm import语句应该转到哪个流星文件?

时间:2018-11-02 00:17:27

标签: meteor npm

我们正在将一个旧的流星项目升级到1.8,我们需要能够将某些旧的流星软件包更改为npm versionvs(例如片刻)。

我们遇到的问题是,我们似乎无法计算出整个树中需要放置导入语句的文件,因为到目前为止,无论放置在哪里,我们在Web控制台中都会出现以下错误。

<body>
        {% for item in imgs %}
            <img src="{{ item.img_url.url }}"><br/>
        {% endfor %}
    </body>

我们已经尝试了客户端中几乎所有的文件,包括startup.js,但无法破解。

这些进口声明应该去哪里?

1 个答案:

答案 0 :(得分:0)

此消息表示您的客户端浏览器捆绑软件未正确转译。这可能有两个原因:

    您的Meteor项目不会将代码转换为ES5语法,例如如果缺少ecmascript软件包或babel,babel运行时等。
  • 您从node_modules导入了一个仍具有此import关键字的文件:默认情况下,Meteor假定npm模块已按原样使用,并且未重新编译(以提高性能)。大多数情况下,这是因为npm模块的默认导入文件为esm格式(在"main"的{​​{1}}字段中指定的文件),但是通常也会以转码或捆绑形式发送。在这种情况下,只需显式导入该dist / transpiled文件,而不是默认的软件包文件即可。

在某些情况下,某些模块不提供此类转译版本。在这种情况下,您将必须自己先进行翻译。另请参见Compile a package in node_modules for use in browser