我正在尝试使用 npm 工具和包将 LESS 文件和 ES6 文件复制和编译/转换到另一个目录。
这是我的基本结构:
-src
-components
-component1
component1.js // es6 code
styles.less
-component2
component2.js // es6 code
styles.less
-component3
component3.js // es6 code
styles.less
这是所需的新目录结构:
-lib
-component1
component1.js // es5 code
styles.css
-component2
component2.js // es5 code
styles.css
-component3
component3.js // es5 code
styles.css
对于我正在使用的 es6 transpile babel
,它工作得很好:
"build:js": "cross-env NODE_ENV=production babel ./src/components --out-dir ./lib --ignore spec.js"
但我与LESS
文件斗争。我知道我可以cpx
用来复制文件并保持结构:
"build:less": "cpx \"./src/components/**/*.less\" ./lib"
但我想在处理它们时复制它们并将其LESS
从CSS
.
通过管道传递的每个文件都有-t
一个模块转换的参数,但我找不到合适的模块来传递它们。
我试过了lessc
,lessify
但似乎不太合适。
"build:less": "cpx \"./src/components/**/*.less\" ./lib -t [less_compiler_here?]"
我不介意使用webpack
或任何其他模式来实现这一点。