包含多个入口点的node-sass脚本

时间:2017-02-28 15:03:13

标签: css npm sass scss-lint npm-scripts

我得到了一个项目,其中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"
},

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

有没有人为我解决这个问题?

另一个问题是,我无法覆盖平台中的默认mixin vars>全局>组件>来自任何platform.scss的login.scss ......

1 个答案:

答案 0 :(得分:2)

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

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

在文件名之前,将您不想用作entriepoint的所有文件作为下划线!像_file.scss

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