нет доступа к переменной после сборки

137
17 апреля 2018, 03:29

index.js

  var P = require('Path.vue').default;
  module.exports= P;

затем index.js вебпаком собирается в build.js

в index.html

 <script src = "build.js"></script>
  console.log(P)//не определен.

Почему не видно переменной? Как исправить?

Answer 1

Переменной не видно, потому что модули webpack имеют свою область видимости, отдельную от глобальной. Вы можете положить свою переменную в глобальную область:

window.P = require('Paths.vue').default;

Либо переписать код так, чтоб доступ к переменной был нужен только внутри модуля.

Либо переписать конфиг вебпака, чтоб он выставил ваш модуль наружу (опция library):

module.exports = {
    entry: 'index.js',
    output: {
        filename: 'build.js',
        library: 'P' 
    }
};
READ ALSO
Доступ к API. PHP vs Python 3

Доступ к API. PHP vs Python 3

Всем добраПосоветуйте на чем лучше осуществлять доступ к API сайта

134
Папку vendor (composer) надо добавлять в gitignore?

Папку vendor (composer) надо добавлять в gitignore?

Собственно сам вопрос в темеДопустим я делаю composer update packet - пакет обновляется, обновляются файлы в папке vendor

157
Шаблонизатор smarty вывод даты

Шаблонизатор smarty вывод даты

ЗдравствуйтеЕсть такой код, он берет из базы данных дату и время в unix формате и переводит в нормальную дату

170
не отправляется запрос в бд

не отправляется запрос в бд

первый файл(update_categoryphp)

133