具有多个入口点的 node-sass 脚本

node-sass script with multiple entry points

我有一个项目,其中 structure.scss 作为主要入口点,然后每个平台都有第二个入口点。文件夹结构:

scss/
|
|-- components/                 # Modular Component Files
|   |-- login.scss              # Structure file for Login Module
|
|-- platforms/
|   |-- globals/
|       |-- components/
|           |-- login.scss
|       |-- global-imports.scss
|       |-- base.scss
|   |-- platform1.scss          # Entrypoint for Platform 1
|   |-- platform2.scss          # Entrypoint for Platform 2
|   |-- platform3.scss          # Entrypoint for Platform 3
|
`-- structure.scss              # Primary Entrypoint for all Platforms

我的 Npm 脚本:

"scripts": {
    "platform": "node-sass --watch --recursive --output-style 'compressed' src/scss/platforms/ -o public_html/inc/assets/css/platforms",
    "structure": "node-sass --watch --recursive --output-style 'compressed' src/scss/style.scss public_html/inc/assets/css/style.css",
    "scss": "npm run platform & npm run structure"
},

我希望他观看所有文件并在对任何文件进行更改后编译新文件。他目前正在用这个脚本创建正确的文件......但问题是,他试图将该文件编译为入口点文件,我在其中进行了更改,这给我带来了很多控制台错误,因为他没有找到任何变量或类似的东西。最后,我每次都需要对正确的文件进行无用的更改,以获得正确的工作文件...

有人能帮我解决这个问题吗?

另一个问题是,我无法在平台 > 全局 > 组件 > login.scss 中覆盖任何 platform.scss...

中的默认混合变量

好的,我找到了解决方案!只需观看整个 scss 文件夹:

  "scripts": {
    "scss": "node-sass --watch --recursive --output-style 'compressed' src/scss/ -o public_html/css/"
  },

并在所有不想用作入口点的文件的文件名前加上下划线!喜欢_file.scss

_files 将被导入但被观察者忽略。