(注意:我也在https://github.com/gkz/LiveScript/issues/731上提出了这个问题)
当我直接在html文件中使用LiveScript时,我无法立即运行lifecript代码。例如;
...
<script src="livescript.js"></script>
<div class="my_target"></div>
<script type="text/ls">
# my livescript code will interact with div.my_target
</script>
<script>
/* a javascript code that will interact with div.my_target
</script>
<script type="text/ls">
# my livescript code does something else
</script>
<script>
var LiveScript = require("LiveScript");
LiveScript.go();
</script>
LiveScript代码都将运行,但与div.my_target
交互的LiveScript代码将与javascript代码 AFTER 进行交互,而不是 BEFORE
如果我定义
<script>
var LiveScript = require("LiveScript");
LiveScript.go();
</script>
每次定义LiveScript代码后,部分,然后所有LiveScript代码,直到此定义将运行多次。
### livescript code 1
### LiveScript.go()
...
### livescript code 2
### LiveScript.go()
...
### livescript code 3
### LiveScript.go()
...
执行此代码时:
livescript code 1
将运行3次,首先会在定义后立即运行livescript code 2
将运行2次,首先会在定义后立即运行livescript code 3
将运行1次,这将在定义如果是这样的话,LiveScript将在html中使用更容易,并且将像一样使用
...
<script src="livescript.js"></script>
<script>
var LiveScript = require("LiveScript");
LiveScript.doSomeMagic_Kaboooommm();
</script>
...
<script type="text/ls">
# my livescript code
</script>
... more html
<script type="text/ls">
# my livescript code
</script>
...
<script type="text/ls">
# my livescript code
</script>
...
有没有这样做?
答案 0 :(得分:0)
最好将.ls
文件编译为.js
并引用.html
页面中的JavaScript文件。
lsc
livescript编译器有选项可以帮助解决此问题,例如watch(w)
参数与compile(c)
参数相结合,运行lsc -wc .
将会监听所有.ls
当前目录及下面的文件,并在您进行更改时编译它们。
例如,src/index.ls
将编译为src/index.js
。
我认为不会很快支持使用LiveScript内联功能。