使用NPM将CSS文件合并到单个文件中
我的项目中有几个css文件。我只想通过NPM将它们组合成一个(无吞咽或咕噜声) 我听说过ccs merge和其他节点模块,但没有看到任何实际的例子。 实现这一目标的最佳和最简单的方法是什么 编辑: 以下是我的项目结构:使用NPM将CSS文件合并到单个文件中,npm,Npm,我的项目中有几个css文件。我只想通过NPM将它们组合成一个(无吞咽或咕噜声) 我听说过ccs merge和其他节点模块,但没有看到任何实际的例子。 实现这一目标的最佳和最简单的方法是什么 编辑: 以下是我的项目结构: Client/ ├──js/ |──component1 ├──one.css ├──one.js |──component2 ├─
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/*
命令选择它们。例如ecat-Client/js/*/*.css
应该可以工作,但仍然不能工作-我不断得到-npm-ERR!缺少脚本:concat-css@DennisNerush您的npm运行脚本似乎试图使用模块名css concat
,对吗?我回答中的示例仅使用本机操作系统bincat
。我猜您没有使用g/正确调用css-concat
。我不熟悉该模块,因此在这方面对您没有帮助,但您是否尝试过使用cat
(或除css-concat
)以外的其他工具?cat在Windows上不能使用通配符。您有其他想法吗?