如何将 npm 包导入 Polymer 3

How to import an npm package into Polymer 3

我经常在 npm 上找到我想包含在 Polymer3 元素中的包。

安装包的说明通常是将 npm 与诸如 npm install fingerprintjs2

之类的东西一起使用

下面我以基本的 Polymer 3 元素为例。但我得到错误

Uncaught TypeError: Cannot read property 'exports' of undefined

我不明白我应该如何从 https://github.com/Valve/fingerprintjs2

导入
import {html, PolymerElement} from '@polymer/polymer/polymer-element.js';
import './node_modules/fingerprintjs2/dist/fingerprint2.min.js';
class FingerPrint extends PolymerElement {
  static get template() {
    return html`
      <style>
        :host {display: block;}
      </style>
      <h2>Finger Print</h2>
    `;
  }
  ready() {
    super.ready();
    setTimeout(function () {
      Fingerprint2.get(function (components) {
        console.log(components)
      })  
  }, 5000)
  }
} window.customElements.define('finger-print', FingerPrint);

如果我尝试使用

导入它
import Fingerprint2 from './node_modules/fingerprintjs2/dist/fingerprint2.min.js';

然后我得到错误 Uncaught SyntaxError: The requested module '../fingerprintjs2/dist/fingerprint2.min.js' does not provide an export named 'default'

我也试过了

import {Fingerprint2} from './node_modules/fingerprintjs2/dist/fingerprint2.min.js';

得到Uncaught SyntaxError: The requested module '../fingerprintjs2/dist/fingerprint2.min.js' does not provide an export named 'Fingerprint2'

很简单:

import Fingerprint2 from 'fingerprint2'