如何在没有gulp和laravel-elixir的情况下编译sass [FIX]

时间:2020-01-19 17:11:26

标签: php node.js laravel npm sass

如果出现类似this的错误:

Error

那么您来对地方了:)

1 个答案:

答案 0 :(得分:1)

首先,您必须从项目中删除node_modules文件夹。 为此,请键入以下命令:

请注意,在删除package.json之前,请复制模块名称:)

  1. rm -rf node_modules
  2. rm -rf package-lock.json
  3. rm -rf package.json
  4. npm缓存清理

现在您将需要一个新的package.json,您需要此命令:

  • npm初始化

按Enter键,直到命令行返回。

现在您需要安装 Node-Sass 来执行此操作,键入以下命令:

  • npm安装node-sass

如果权限有问题,请尝试使用sudo,例如:

  • sudo npm install node-sass

在安装 Node-sass 之后,您需要编写 Node-sass 命令,转到package.json文件,您将看到类似以下内容的东西:

{
  "name": "blog",
  "version": "1.0.0",
  "description": "Bla Bla Bla Bla ...",
  "main": "gulpfile.js",
  "directories": {
    "test": "tests"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^4.4.1",
    "jquery": "^3.4.1",
    "node-sass": "^4.13.1"
  }
}

在脚本部分,在测试命令下添加一个scss命令,如下所示:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "scss": "node-sass resources/assets/sass -o public/css"
}

您可以使用--watch选项,例如:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "scss": "node-sass --watch resources/assets/sass -o public/css"
}

这意味着监视目录或文件是否发生更改,换句话说,每次您按CTRL + SCMD + S时,它将编译所有.scss文件。

最后,运行脚本:

  • npm运行scss

非常感谢 Zviad Sichinava

进一步了解node-sass