Изучение Webpack: как включить библиотеку в webpack и использовать в браузере - PullRequest
0 голосов
/ 08 мая 2020

Я подумал, что этот вопрос, должно быть, задавали много раз, но я не мог найти подходящего ответа. Может быть, это потому, что я не знаю всех словечек правильно ...

Итак, я попытался использовать бандлинг для нового проекта (чтобы не отставать) и провел небольшой тест. Я хочу использовать попутный ветер css и datepicker (js -datepicker: https://github.com/qodesmith/datepicker).

src / index. js:

import './styles.css'
import datepicker from 'js-datepicker'

webpack.config. js

const path = require('path');
const webpack = require('webpack');

module.exports = {
    entry: './src/index.js',
    output: {
        path: path.resolve(__dirname,'dist'),
        filename: 'bundle.js'
    },

    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    'style-loader',
                    {
                        loader: 'css-loader',
                        options: {importLoaders: 1}
                    },
                    'postcss-loader'
                ]
            }
        ]
    },
    plugins: [
        new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)
    ]
}

и теперь я хочу использовать средство выбора даты в моем браузере, поэтому я включил сгенерированный файл bundle. js в свой HTML

но

const picker = datepicker('#someid')

сгенерировал ошибку: «ReferenceError: datepicker is not defined»

Какого трюка magi c мне не хватает? Если я посмотрю на сгенерированный пакет. js, я могу увидеть все стили попутного ветра и код datepicker ...

1 Ответ

1 голос
/ 08 мая 2020

Вы можете добавить datepicker к window, а затем использовать его в браузере.

В вашем index.js файле

import './styles.css'
import datepicker from 'js-datepicker'

// Add datepicker to window object
window.datepicker = datepicker;
...