Не удается разрешить путь в vue (с использованием шаблона webpack) [duplicate]

Как насчет этого:

def singleton(cls):
    instance=cls()
    cls.__new__ = cls.__call__= lambda cls: instance
    cls.__init__ = lambda self: None
    return instance

Используйте его как декоратор в классе, который должен быть одноэлементным. Например:

@singleton
class MySingleton:
    #....

Это похоже на декоратор singleton = lambda c: c() в другом ответе. Как и в другом решении, единственный экземпляр имеет имя класса (MySingleton). Однако с помощью этого решения вы все равно можете «создать» экземпляры (фактически получить единственный экземпляр) из класса, выполнив MySingleton(). Это также мешает вам создавать дополнительные экземпляры, выполняя type(MySingleton)() (который также возвращает тот же экземпляр).

18
задан tome 11 January 2016 в 20:13
поделиться

4 ответа

Я смог использовать в таблице стилей псевдоним, который я определил в webpack, используя следующее:

@import '~alias/variables';

просто префикс псевдонима ~ сделал трюк для меня, как было предложено в документации здесь

40
ответ дан Yves M. 21 August 2018 в 16:36
поделиться
  • 1
    Это правильный ответ – tome 13 April 2016 в 12:35
  • 2
    Это отлично работает, но как вы можете заставить своего редактора перестать жаловаться на это. Каталог Obvisouly ~ alias не существует. – tkiethanom 18 May 2017 в 20:58

Поскольку ваш файл webpack.config.js уже находится в папке /app, не должен быть псевдоним:

resolve: {
   alias: {
       styles: path.join(__dirname, 'styles') 
   }
}

?

1
ответ дан CrocoDillon 21 August 2018 в 16:36
поделиться
  • 1
    Извините, это была ошибка. Webpack.config находится на главном уровне, отредактированный вопрос соответственно – tome 11 January 2016 в 20:14
  • 2
    Ладно, уже думал, что будет слишком легко. Я бы прокомментировал, а не ответил, но недостаточно. – CrocoDillon 11 January 2016 в 21:06

В моем случае зависимость является узловым модулем, поэтому я могу импортировать ее следующим образом:

@import '~node-module-name/variables';

И при использовании имени dir фактического имени узла мой редактор (PhpStorm) больше не показывает неразрешенную ошибку пути (проблема, упомянутая @tkiethanom). Похоже, мне нужно указать псевдоним в конфигурации webpack, если я хочу использовать импорт стиля sass (например, my-package/colors вместо my-package/_colors.scss), и кажется, что не имеет значения, что такое имя этого псевдонима, пока Я использую имя каталога узла узла

0
ответ дан gedijedi 21 August 2018 в 16:36
поделиться

Другое исправление, связанное с этим объектом, удалить .scss

@import '~scss/common.scss';

должно быть

@import '~scss/common';
4
ответ дан Kirk Strobeck 21 August 2018 в 16:36
поделиться
  • 1
    2018 и застрял в этом. Я использую @material пакеты, и они все без тильды характер! поэтому sass-loader застревает при последующем импорте. Попробовал добавить псевдоним для @material и указать на path.resolve(__dirname, 'node_modules/@material') без везения. Заданный вопрос stackoverflow.com/questions/48368639/… – RoninCoder 21 January 2018 в 18:22
Другие вопросы по тегам:

Похожие вопросы: