Подтвердить что ты не робот

Объединение файлов CSS в один файл с использованием NPM

У меня есть несколько css файлов в моем проекте. Я хочу объединить их в один только через NPM (no gulp или grunt).

Я слышал о ccs-merge и других модулях node, но не видел практического примера. Каков наилучший и самый простой способ его достижения?

Отредактировано:

Вот моя структура проекта:

Client/
     ├──js/
         |──component1  
               ├──one.css 
               ├──one.js 
         |──component2  
               ├──two.css 
               ├──two.js 
    ├──output/
    └──package.json

Я хочу объединить все мои файлы CSS в один файл непосредственно из NPM script. Вот мой текущий package.json

"scripts": {
    "start": "watchify -o Client/js/bundle.js -v -d Client/js/app.jsx",
    "build": "browserify . -t [envify --NODE_ENV production] | uglifyjs  -cm > Client/js/bundle.min.js",
    "concat-css": "css-concat  Client/js/*.css > Client/js/styles.css"
  },

Команда concat-css не работает. "Ошибка в..." css-concat... "

4b9b3361

Ответ 1

Вот простейший пример, о котором я мог подумать. Учитывая следующую структуру и файлы проекта:

project/
├──css/
|  ├──one.css
|  └──two.css
├──output/
└──package.json

Проект /CSS/one.css

.one {
  color: red;
}

Проект /CSS/two.css

.two {
  text-align: center;
}

Проект /package.json

{
  "name": "project",
  "version": "1.0.0",
  "scripts": {
    "concat-css": "cat css/* > output/all.css"
  }
}

Вы можете запустить это в своем терминале:

$ npm run concat-css

> [email protected] concat-css /path/to/project
> cat css/* > output/all.css

В результате получается project/output/all.css:

.one {
  color: red;
}
.two {
  text-align: center;
}

Это, очевидно, слишком упрощенно, но это должно продемонстрировать концепцию. Вы можете передавать несколько команд оболочки через npm запускать скрипты, и вы даже можете вызывать сценарии запуска из других сценариев запуска.

Вот очень хорошая статья по этой теме Кейт Сиркель. Нет необходимости ворчать или gulp.