импортировать файл css из node_modules

У нас есть частный репозиторий npm, где у нас есть файл css как часть папки lib.

При попытке потребовать этот файл css с помощью

require('<module_name>/lib/abc.css')

и используя webpack для загрузки, я получаю ошибку ниже:

SyntaxError: неожиданный токен {

Любая помощь, как импортировать такие файлы


person Abhijeet Mishra    schedule 13.12.2016    source источник
comment
Ваш подход правильный, "require" заставит webpack связать этот css. Можете ли вы предоставить этот css и показать конфигурацию веб-пакета, в которой вы заботитесь о css?   -  person Michał Ignaszewski    schedule 14.12.2016


Ответы (1)


Я тоже на несколько дней застрял в этой проблеме (я новичок в мире node.js / Meteor / React / JavaScript). Я нашел решение с помощью webpackJS.

Мое рабочее решение (примененное к крошечному приложению, которое должно упростить понимание; я показываю только сетку данных с использованием жестко закодированных данных) доступно на моем репозиторий GitHub (фиксация 902c92c). Приложение называется «reactDataGrid», это подпапка репозитория, вам просто нужно запустить «meteor» в этой папке.

В моем случае двумя ключевыми шагами были:

  • чтобы создать файл .babelrc с содержанием, описанным здесь (и скопировано ниже). Я считаю, что это помогает webpack разбирать JSX-синтаксис реакции. У меня такое чувство, что это тоже может быть ключом к вашей проблеме, поскольку о нем сообщается как SyntaxError.

.babelrc

{
  "presets": [
    [
      "es2015",
      {
        "modules": false
      }
    ],
    "react"
  ]
}
  • оператор require('react-datagrid/index.css') в моем файле main.jsx, который сообщает webpack включить этот файл CSS в дерево зависимостей моего приложения. На самом деле это инструкция, описанная в README репозитория GitHub zippyui / react-datagrid. (К сожалению, stackoverflow ограничивает две ссылки в моем сообщении, поэтому я больше не могу ссылаться на него здесь)

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

С уважением, Кевин

person Kevin Rue-Albrecht    schedule 29.01.2017