首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用节点sass将scss编译成css

如何用节点sass将scss编译成css
EN

Stack Overflow用户
提问于 2016-01-20 09:34:04
回答 3查看 29.5K关注 0票数 7

我有一个master.scss,它包含许多来自其他.scss文件的导入。如果我更改了一个* .scss文件,就会自动生成master.css。

我只使用国家预防机制,没有杯赛或格伦特!这种情况应该继续下去。

我当前的构建脚本:

代码语言:javascript
复制
"scripts": {
  "watch-sass": "sass --watch src/scss/master.scss:dist/css/master.css"
}

这很好,但是编译需要很长时间!

现在我正在尝试使用节点-sass。它应该编译得很快。不幸的是,我并不完全理解.节点-sass是通过npm install node-sass安装的。

我在哪里使用以下(从文档)?

代码语言:javascript
复制
var sass = require('node-sass');
sass.render({
  file: scss_filename,
  [, options..]
}, function(err, result) { /*...*/ });
// OR
var result = sass.renderSync({
  data: scss_content
  [, options..]
});

package.json里就不是这样,对吧?

这里有一个教程,我已经读过了:使用NPM作为任务运行程序

剧本很好。我该怎么用呢?

代码语言:javascript
复制
"scripts": {
  "sass": "node-sass sass/ -o build/css/"
}

这将编译所有sass文件(不以下划线开头)到build/css/目录。

我希望你的帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-20 10:44:29

也许这涵盖了你的问题:如何编译或转换sass / scss为css的节点-sass(没有Ruby)?

如果这是一个选项,我建议你使用咕噜,它将使事情变得更简单和更快。这个grunt插件可能是最好的选择:https://www.npmjs.com/package/grunt-contrib-sass

//更新

我遵循了你发送的教程,这很简单。在根文件夹中创建一个名为"package.json“的文件,其中包含以下内容:

代码语言:javascript
复制
{
  "watches": {
    "sass": "sass/**"
  },
  "scripts": {
    "sass": "node-sass sass/ -o build/css/",
    "dev": "rerun-script"
  }
}

然后在根文件夹中打开命令行并运行以下命令:

代码语言:javascript
复制
npm install --save-dev node-sass

以上安装节点sass。

然后你跑:

代码语言:javascript
复制
npm install --save-dev rerun-script

上面创建了一个监视任务,这样您就不必每次进行更改时都重新运行节点-sass。

最后一次你跑

代码语言:javascript
复制
npm run dev

完成了!

票数 8
EN

Stack Overflow用户

发布于 2017-02-28 18:34:01

文档。

如果您想要自动编译文件,那么需要将标志-w

代码语言:javascript
复制
node-sass -w -r assets/src/scss/ -o assets/dist/css/

我的package.json

代码语言:javascript
复制
{
  "name": "my-project",
  "version": "1.0.0",
  "scripts": {
    "build:js": "watchify assets/src/js/main_1.js -o 'exorcist assets/dist/js/main_1.js.map > assets/dist/js/main_1.js' -d -t [babelify --presets [latest]]",
    "build:scss": "node-sass -w -r assets/src/scss/ -o assets/dist/css/",
    "build": "npm run build:scss & npm run build:js"
  },
  "devDependencies": {
    "babel-cli": "^6.0.0",
    "babel-preset-latest": "^6.16.0",
    "babelify": "^7.3.0",
    "browserify": "^13.1.1",
    "exorcist": "^0.4.0",
    "node-sass": "^4.5.0",
    "watchify": "^3.7.0"
  },
  "browserify": {
    "transform": [
      "babelify"
    ]
  }
}

package.json:https://gist.github.com/artamonovdev/5f24aaca504e4d1b299bba0413f0a57d的实际版本

票数 5
EN

Stack Overflow用户

发布于 2018-04-17 12:35:52

watch模式在node-sass中不运行第一次编译。它假设您已经运行了node-sass

就我个人而言,我用的是这样的东西:

代码语言:javascript
复制
{
  "scripts": {
    "sass": "node-sass -o /path/to/dist /path/to/src",
    "sass:watch": "npm run sass && npm run sass -- --watch --recursive"
  }
}

您可以这样使用它:npm run sass:watch

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34896279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档