Добавьте определенный модуль узла в пакет веб-пакета - PullRequest
0 голосов
/ 03 марта 2019

Я добавил одно из расширений Bulma в свой реактивный проект https://wikiki.github.io/components/quickview/

Чтобы использовать его, я установил его, используя npm, и расширение требует добавления строки ниже, когда DOM полностью загружен, поэтому я добавил его вcomponentDidMount

var quickviews = bulmaQuickview.attach();

и строка ниже в моем index.html

<script type="text/javascript" src="/node_modules/bulma-extensions/bulma-quickview/dist/js/bulma-quickview.min.js"></script>

Я использую веб-пакет для объединения и исключил все модули узлов из пакета.

Проблема: В среде разработки для веб-пакетов она работает нормально, но после объединения в производство выдает ошибку, что

bulmaQuickview не определен

Как я могу связатьконкретный модуль узла в комплекте с веб-пакетом?и что будет правильной ссылкой для добавления.

Webpack config

module.exports = {
    target: 'web',
    entry: "./index.js",
    output: {
        filename: "bundle.js"
    },
    devtool: 'eval-source-map',
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            },
            {
                test: /\.css$/,
                use: ExtractTextPlugin.extract({
                    fallback: "style-loader",
                    use: "css-loader"
                })
            },
            {
                test: /\.(png|jpg)$/,
                use: [{
                    loader: 'url-loader',
                    options: {
                        limit: 8000, // Convert images < 8kb to base64 strings
                        name: 'images/[hash]-[name].[ext]'
                    }
                }]

            },
            {
                test: /\.(png|svg|jpg|gif)$/,
                include: path.join(__dirname, 'dist/image'),
                loader: 'file-loader'

            }
        ]
    },
    plugins: [new WebpackNotifierPlugin(), new BrowserSyncPlugin(), new ExtractTextPlugin("styles.css"),
        new webpack.DefinePlugin({
            'API_URL': API_URL[environment]
        })
    ]
};

1 Ответ

0 голосов
/ 04 марта 2019

Вы добавляете его в index.html, чтобы веб-пакет не связывал его.Вы пытались импортировать его в тот же файл JS, в котором он используется?Либо это, либо добавьте его к свойству записи после index.html ( сделать его массивом ).

...