SyntaxError:导出声明​​只能出现在模块的顶层

时间:2019-08-26 05:42:55

标签: angular popper.js

我最近使用以下注释安装了popper.js

npm install --save popper.js angular-popper

然后,我在angular.json

中添加以下内容
"scripts": [
              "node_modules/jquery/dist/jquery.min.js",
              "node_modules/popper.js/dist/popper.js",
              "node_modules/bootstrap/dist/js/bootstrap.min.js",
              "src/assets/fancybox/js/jquery.fancybox.min.js"
]

但是当我运行该应用程序时,我在scripts.js中收到如下错误,

  

SyntaxError:导出声明​​只能出现在模块的顶层

因此,根据This documentation,我也尝试通过app.module.ts进行导入。但是没有运气。

2 个答案:

答案 0 :(得分:2)

为未来的流浪者发布答案:

导入popper.js时,请使用 UMD 发行版。

angular.json

scritps:[
    ...
    "node_modules/popper.js/dist/umd/popper.min.js",
    ...
]

这样做的原因是因为此发行版使用了一种标准化的声明JS库的方法,称为通用模块定义

更多信息:

https://github.com/umdjs/umd

答案 1 :(得分:0)

易于解决,将bootstrapbootstrap.min更改为bootstrap.bundlebootstrap.bundle.min,因为这些文件包含popper.js。 Popper是引起问题的原因。