使用NPM将CSS文件合并到单个文件中

使用NPM将CSS文件合并到单个文件中,npm,Npm,我的项目中有几个css文件。我只想通过NPM将它们组合成一个(无吞咽或咕噜声) 我听说过ccs merge和其他节点模块,但没有看到任何实际的例子。 实现这一目标的最佳和最简单的方法是什么 编辑: 以下是我的项目结构: Client/ ├──js/ |──component1 ├──one.css ├──one.js |──component2 ├─

我的项目中有几个css文件。我只想通过NPM将它们组合成一个(无吞咽或咕噜声)

我听说过ccs merge和其他节点模块,但没有看到任何实际的例子。 实现这一目标的最佳和最简单的方法是什么

编辑:

以下是我的项目结构:

Client/
     ├──js/
         |──component1  
               ├──one.css 
               ├──one.js 
         |──component2  
               ├──two.css 
               ├──two.js 
    ├──output/
    └──package.json
我想直接从NPM脚本将所有CSS文件合并成一个文件。 这是我当前的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…'失败”

这是我能想到的最简单的例子。给定以下项目结构和文件:

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

.one {
  color: red;
}
.two {
  text-align: center;
}
{
  "name": "project",
  "version": "1.0.0",
  "scripts": {
    "concat-css": "cat css/* > output/all.css"
  }
}
.one {
  color: red;
}
.two {
  text-align: center;
}
项目/css/two.css

.one {
  color: red;
}
.two {
  text-align: center;
}
{
  "name": "project",
  "version": "1.0.0",
  "scripts": {
    "concat-css": "cat css/* > output/all.css"
  }
}
.one {
  color: red;
}
.two {
  text-align: center;
}
项目/package.json

.one {
  color: red;
}
.two {
  text-align: center;
}
{
  "name": "project",
  "version": "1.0.0",
  "scripts": {
    "concat-css": "cat css/* > output/all.css"
  }
}
.one {
  color: red;
}
.two {
  text-align: center;
}
您可以在终端中运行此操作:

$ npm run concat-css

> project@1.0.0 concat-css /path/to/project
> cat css/* > output/all.css
这将导致项目/output/all.css

.one {
  color: red;
}
.two {
  text-align: center;
}
{
  "name": "project",
  "version": "1.0.0",
  "scripts": {
    "concat-css": "cat css/* > output/all.css"
  }
}
.one {
  color: red;
}
.two {
  text-align: center;
}
这显然过于简单化了,但它应该说明这一概念。您可以通过管道将多个shell命令连接在一起,甚至可以从其他运行脚本中调用运行脚本


(不需要咕噜声或咕噜声。)

谢谢你的回答。但是我仍然无法让它工作。我用更多的上下文更新了我的问题。请注意,这两个示例之间的一个关键区别是css文件的相对位置。在OP中,这些文件位于两个单独的目录中,因此无法使用示例
cat css/*
命令选择它们。例如e
cat-Client/js/*/*.css
应该可以工作,但仍然不能工作-我不断得到-npm-ERR!缺少脚本:concat-css@DennisNerush您的npm运行脚本似乎试图使用模块名
css concat
,对吗?我回答中的示例仅使用本机操作系统bin
cat
。我猜您没有使用g/正确调用
css-concat
。我不熟悉该模块,因此在这方面对您没有帮助,但您是否尝试过使用
cat
(或除
css-concat
)以外的其他工具?cat在Windows上不能使用通配符。您有其他想法吗?