【发布时间】:2015-06-30 11:02:05
【问题描述】:
我正在尝试将npm 用作我的task manager,但我注意到Stylus CLI 有一些我不理解的奇怪之处。
要在文件上运行Stylus CLI,我有两个选择。$ stylus styles/file.styl // basic$ stylus < styles/file.styl // using stdin
在 file.styl 中,我使用 @require 包含其他一些带有通配符的文件夹,以获取文件夹内的所有文件。
@charset "UTF-8";
@require 'base/*';
@require 'modules/*';
@require 'theme/*';
所以,当我运行$ stylus styles/file.styl 时,它都运行正常,但如果我运行$ stylus < styles/file.styl,我会得到一个错误。
我可以通过更改我的样式文件中的@require 调用来使其工作,如下所示:
@charset "UTF-8";
@require 'styles/base/*';
@require 'styles/modules/*';
@require 'styles/theme/*';
但我不知道为什么会这样以及如何修复它以便可以通过命令行运行它。
我们的目标是让它在 CLI 中正常工作,这样我就可以在我的 package.json 中使用它,并将它传递给其他任务,例如 autoprefixer 和 combine-mq 或 css-pleeease。我正在尝试复制我在同一个项目中使用的gulpfile.js,希望这能让我了解整个过程。
谢谢
更新:
我还应该包含package.json 作为参考,看看我最终的结果。这也设置了我要发布的答案。
{
"name": "npm_BUILD",
"version": "1.0.0",
"description": "npm as a task manager",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"styles":"npm run styles:max && npm run styles:min",
"styles:max": "stylus < styles/site.styl | autoprefixer -b 'last 2 versions' > styles/final.css",
"styles:min": "cssmin < styles/final.css > styles/final.min.css"
},
"author": "Jason Lydon @bushwa",
"license": "ISC",
"devDependencies": {
"autoprefixer": "^5.1.1",
"clean-css": "^3.2.2",
"combine-mq": "^0.8.1",
"concat": "^1.0.0",
"cssmin": "^0.4.3",
"filesize": "^3.1.2",
"stylus": "^0.50.0"
}
}
然后我运行 $ npm run styles 创建两个 css 文件,第二个被缩小。
【问题讨论】:
标签: node.js npm stylus package.json