SyntaxError: export declarations may only appear at top level of a module

SyntaxError: export declarations may only appear at top level of a module

我最近使用下面的评论安装了 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: export declarations may only appear at top level of a module

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

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

导入 popper.js 时,使用 UMD 分布。

angular.json

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

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

更多信息:

https://github.com/umdjs/umd

很容易解决,将bootstrapbootstrap.min改成bootstrap.bundlebootstrap.bundle.min,因为这些文件包含popper.js。 Popper 是导致问题的原因。