2016-10-02 8 views
1

npmをインストールしました。構文をサポートしないパッケージがインストールされました。Webpackにnpmと一緒にインストールされた「通常の」javascriptパッケージをインポートする

は私が手動でスクリプトタグをLIBSライブラリのソースコードをコピーして使用する場合、それは動作します確信している:

<script src="/libs/smooth-scroll.js"></script> 

しかし、どのように私はそれで輸入構文を使用します。私は2つのオプションを試しましたが、どちらもうまくいきませ

オプションA:

import scroller from 'smooth-scroll'; 

オプションB:

import {scroller} from 'smooth-scroll'; 

それは推測したと明らかに動作することを意図していないが、どのように1は、輸入を使用しないとにWebPACKのを取得それを提供する?

UPDATE:

私は、パッケージのソースは、次の行で始まることに気付きました:

(function (root, factory) { 
    if (typeof define === 'function' && define.amd) { 
     define([], factory(root)); 
    } else if (typeof exports === 'object') { 
     module.exports = factory(root); 
    } else { 
     root.smoothScroll = factory(root); 
    } 
})(typeof global !== 'undefined' ? global : this.window || this.global, (function (root) { 
... 

んこれはパッケージがすでにES2015のインポートをサポートしています意味?

答えて

1

最も簡単な答えは、滑らかなscroll.jsのソースコードに行くために、下に追加することです:

smoothScrollFunctionがある
export default smoothScrollFunction; 

あなたが希望していることを何でも機能/オブジェクト/インポート。インポートステートメントは、次のコードを使用して動作します。

import scroller from "./lib/smooth-scroller"; 

これは、ES2015でのインポートとエクスポートの仕組みです。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export

+0

これは良いことです。しかし、これは、新しいコンピュータにプロジェクトをセットアップしたときに "npm install"が動作しないことを意味します。しかし、投票して!ありがとう – Guy

+0

エクスポート行をファイルの最後に置いてpackage.jsonの 'scripts'に入れるインストールスクリプトを作ることができます。' npm run whatever'(あなたが ' ES2015のインポート/エクスポートサポートのサポートを追加するためにスムーススクロールのメンテナーにプルリクエストを送信するか、送信します。 –

関連する問題