0
我想创建一个函数,在触控笔中包装另一个内置函数。喜欢的东西:如何在手写笔中创建包装功能?
myFunction(color, amount)
darken(color, amount)
我想为一个项目中创建多个主题,并且在一些主题是黑暗的,有些是光,所以hover
我想lighen()
的background-color
和其他darken()
,并使用myFunction()
在所有主题中通用的文件中,仅改变每个主题中的函数定义。
我想知道的是:它有可能吗?或者如果在触笔中有任何其他的函数多态机制,可以动态改变函数定义的任何方法。
我曾尝试:
首先我想简单地包装,如:
inHover (color, amount) darken(color, amount)
但我得到:
cmd.exe /D /C E:/node/nodist/bin/stylus.cmd definitions.styl E:\node\nodist\bin\node_modules\stylus\bin\stylus:662 throw err; ^ RangeError: definitions.styl:20:10 16| 17| /* Functions */ 18| 19| inHover (color, amount) 20| darken(color, amount) ----------------^ 21| Maximum call stack size exceeded at darken() (E:/node/nodist/bin/node_modules/stylus/lib/functions/index.styl:128:21) at "inHover (color" (definitions.styl:18:16) at Evaluator.visit (E:\node\nodist\bin\node_modules\stylus\lib\visitor\evaluator.js:162:34) at Evaluator.visitIdent (E:\node\nodist\bin\node_modules\stylus\lib\visitor\evaluator.js:533:23) at Evaluator.Visitor.visit (E:\node\nodist\bin\node_modules\stylus\lib\visitor\index.js:28:40) at Evaluator.visit (E:\node\nodist\bin\node_modules\stylus\lib\visitor\evaluator.js:156:18) at Evaluator.visitExpression (E:\node\nodist\bin\node_modules\stylus\lib\visitor\evaluator.js:630:26) at Evaluator.Visitor.visit (E:\node\nodist\bin\node_modules\stylus\lib\visitor\index.js:28:40) at Evaluator.visit (E:\node\nodist\bin\node_modules\stylus\lib\visitor\evaluator.js:156:18) at Evaluator.visitIdent (E:\node\nodist\bin\node_modules\stylus\lib\visitor\evaluator.js:533:23) at Evaluator.Visitor.visit (E:\node\nodist\bin\node_modules\stylus\lib\visitor\index.js:28:40) at Evaluator.visit (E:\node\nodist\bin\node_modules\stylus\lib\visitor\evaluator.js:156:18)
我不能使用的块,因为他们不接受论据。
我的代码:
HTML代码:
<html>
<head>
<link href='/css/themes/my_theme/index.css' rel='styleSheet'/>
<body ng-app='app'>
<!-- Body defination -->
</body>
</html>
/css/themes/my_theme/index.styl
文件:
@import 'definitions.styl'
@import '../../site.styl' /* All the common css styles*/
myFunction(color, amount)
darken(color, amount)
/css/themes/my_theme/definitions.styl
文件:
/* Color definitions */
colorPrimary = red
colorBackground = green
/* Functions */
inHover (color, amount)
darken(color, amount)
我用什么:
- 笔0.52.4
- 节点4.1.1
- 表达4.13.3
即使我刚刚试了一下,隔离,并且它的工作,这似乎问题是其他地方。 – Musa