Webpack проблема с областью видимости

174
20 марта 2018, 03:14

Добрый день! Есть несколько модулей, которые подключены к app.js, вот например код, который лежит внутри:

var test = "TEST"; 

Вот мой webpack.config

module.exports = {
    entry: './src/app.js',
    output: {
        filename: './dist/bundle.js'
    }
};

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

Что-то с областью видимости, когда я подключаю app.js напрямую - все работает, в чем проблема и как исправить? Заранее большое спасибо!

Answer 1

У тебя test лежит в сборке не в той области видимости. Это исправить можно несколькими способами:

1.

app.js:

var test = "TEST"
Object.assign(window, {
  test: test
  // Этот шаблон можно использовать для того, чтобы расширить область видимости нескольких переменных, ..., хотя можно и просто написать window.test = test
})

2.

app.js:

var test = "TEST"
module.exports = {test: test}

wepback.config.js:

module.exports = {
    entry: './src/app.js',
    output: {
        filename: './dist/bundle.js',
        library: 'global' // libarary - параметр, который принимет имя перименной (глобальной), в которую будет помещено то, что будет экспортировано с точки входа (в даном примере - ./src/app.js)
    }
};

Тогда к test можно с помощью периеменой global: global.test

READ ALSO
Анимированная строка в инпуте

Анимированная строка в инпуте

Суть задачи в том, что есть два инпута, в одном инпуте вводиться строка, во втором инпуте она с анимацией выводитсяПопробовал реализовать,...

229
как сделать елементы в массиве в uppercase

как сделать елементы в массиве в uppercase

Задача состоит в том, чтобы при поиске елементов в массиве делать их в uppercase, как это можно сделать? Я пытался делать через arrindexOf(department)

171
Обьясните данную кострукцию arr.push

Обьясните данную кострукцию arr.push

Я читал про метод массива arrpush добавляет в конец массива елемент

187
RHS и LHS в JavaScript [требует правки]

RHS и LHS в JavaScript [требует правки]

Доброго времени сутокЧитаю в книге YDNJ про LHS- и RHS-присваивания

209