9

ここで何が欠けているのかわかりません。私は jspm と es6-module-loader を使用してプロジェクトに取り組んでいます。次のように定義されたモジュールがあります。

import hooks from './hooks';
import api from './api';
import tools from './tools';

const StencilUtils = {
    hooks: hooks,
    api: api,
    tools: tools,
};

export {hooks, api, tools};
export default StencilUtils;

/* global define */
(function(root) {
    if (typeof define === 'function' && define.amd) {
        define(function() {
            return (root.stencilUtils = StencilUtils);
        });
    } else if (typeof module === 'object' && module.exports) {
        module.exports = StencilUtils;
    } else {
        window.stencilUtils = StencilUtils;
    }
}(this));

このモジュールを別のファイルにインポートして、次のように使用しています。

import utils from 'bigcommerce/stencil-utils';

utils.hooks.on('cart-item-add', (event, form) => {
    // do stuff
});

ファイルが読み込まれると、エラーが発生しutilsますundefined。ファイルを次のように変更すると:

import {hooks} from 'bigcommerce/stencil-utils';

hooks.on('cart-item-add', (event, form) => {
    // do stuff
});

正しく動作します。そのため、デフォルトの export ステートメントで何かが正しく機能していないようです。この問題の原因となる import または export ステートメントに明らかに問題があるのでしょうか?

4

1 に答える 1