我想将一组.scss
文件编译为不同的文件名.
在开发中,我想编译例如.foo.scss
到foo.dbg.css
(未经通报和评论).在制作中,我希望有例如.foo.min.css
(精缩).
有没有办法告诉SASS/Compass什么用作目标扩展?命令行开关?一个config.rb
选择?
编写首先编译然后重命名文件的脚本似乎是一个糟糕的选择,因为那时我无法compass watch
有效地使用.
(好吧,我可以编译到两个不同的输出目录,然后编写一个从那里复制文件的脚本.这感觉有点笨拙.)
更新:我通过编写手表代码的简化版本解决了这个问题.当某些内容发生变化时,它会触发重新编译到两个不同的输出目录,然后重命名并将文件移动到位.
使用Firebase云功能将数据保存到Firebase数据库时,我还想写入请求来源的IP地址.
但是,req.connection.remoteAddress
总是返回::ffff:0.0.0.0
.有没有办法获取发出请求的客户端的实际IP地址?
我似乎误解了React.js的一些基本部分.
在http://facebook.github.io/react/docs/component-api.html
它说,一个react组件有像setState()这样的方法.
但是当我这样做时:
var MyComp = React.createClass({
getInitialState: function() {
return {dummy: "hello"};
},
render: function() { return React.DOM.h1(null, this.state.dummy + ", world!") }
}
var newComp = MyComp(null);
React.renderComponent(newComp, myDomElement);
MyComp.setState({dummy: "Good Bye"}); // Doesn't work. setState does not exist
newComp.setState({dummy: "Good Bye"}); // Doesn't work either. setState does not exist
Run Code Online (Sandbox Code Playgroud)
没有找到setState()方法.但是在文档中它说组件API,那么我在这里遇到了什么问题?
Ubuntu 13.10现在包含了graphite-web
包.但是在安装软件包之后我应该如何设置Graphite?我只找到Ubuntu 12.04教程,当然不使用.deb包.我宁愿不通过自己的试错方式绊倒所有步骤.
这个问题可能更多是关于Webpack和ES6而import
不是关于Vue.
我正在编写一个Vuex变异,mykey: []
为一个对象添加一个新的state
.这需要使用Vue.set(state.myobj, 'mykey', [])
,以便新阵列获得反应性.
但是,当我import Vue from 'vue'
对我的mutation.js和使用Vue.set(...)
它并没有解决问题(它什么都不做).问题似乎Vue
与Vue
我在main.js文件中创建Vue对象时在主js文件中使用的问题不同.
我已经证实问题与Vue导入mutation.js的方式有关.如果我window.MY_VUE = Vue
在main.js中写入然后window.MY_VUE.set(...)
在mutation.js中使用,则新数组按预期工作,即当我推送到数组时,更改会在DOM中正确反映.当然,window.MY_VUE === Vue
在mutation.js中进行比较会返回false.
难道我做错了什么?解决问题的正确方法是什么?
注意:作为一种解决方法,我现在替换该对象:
state.myobj = { ...state.myobj, mykey: [] }
Run Code Online (Sandbox Code Playgroud)
我正在使用Vue 2.4.2,Vuex 2.4.0和Webpack 2.7.0.我没有使用Webpack代码分割.
注意:我正在使用Zend Framework,但我认为大部分内容都适用于PHP编码.
我正在尝试选择一种编写视图脚本的策略,可能需要借助模板引擎.动机:清晰度和安全性.我对编写.phtml脚本感到不满意.这种语法非常冗长,可以完成最常用的操作 - 输出变量:
<?php echo $this->escape($this->myVariable); ?>
Run Code Online (Sandbox Code Playgroud)
除了代码冗长之外,恕我直言,模板作者每次他/她想要输出变量时都不应该记住(并且费心)写一个转义调用.忘记呼叫几乎肯定会导致XSS漏洞.
我有两个可能的解决方案来解决这个问题
解决方案1:具有自动转义的模板引擎
我认为至少Smarty可以选择在输出变量时自动转义html实体.有针对Smarty的观点,但可能至少其中一些在即将到来的3.0中得到解决 - 我还没有检查过.
PHPTAL等基于XML的模板引擎默认也会转义任何数据.不过,对于初学者来说,它们看起来可能很奇怪.也许还值得尝试?
解决方案2:转义模型中的数据
当然,另一种选择是逃避模型中已经存在的所需数据(甚至控制器?).模型应该已经知道每个字段的内容类型(主要是纯文本或HTML文本),因此在那里转义数据是合乎逻辑的.该视图可以将所有数据视为安全的HTML.这将允许例如.将字段的数据类型从纯文本更改为HTML而不触及视图脚本 - 只需更改模型即可.
但话说回来,它并不像MVC那样好.此外,这种方法也存在问题:
foo & bar
为foo &am
(最早逃脱它为foo & bar
)(这些问题可以通过提供两个版本的数据来解决,或者在模板中进行转换.对我来说似乎不好.)
想法?我错过了什么吗?您认为"最佳实践"是什么?
PS.这篇文章是关于发现了可包含任何用户提供的明文数据的通用解决方案<
或>
或任何其他字符.因此,在将数据保存到数据库之前过滤数据不是解决方案.
更新:
感谢所有评论到目前为止.我做了一些更多的研究,接下来将评估Twig和可能的Open Power Template.两者看起来都很有趣:Twig看起来很简单,但项目很年轻.在XML方面,OPT的语法看起来比PHPTAL好一点.Twig和OPT都有很好的记录.
import BalloonEditor from '@ckeditor/ckeditor5-editor-balloon/src/ballooneditor';
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials';
import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold';
import Italic from '@ckeditor/ckeditor5-basic-styles/src/italic';
BalloonEditor
.create( elem, {
plugins: [ Markdown, Essentials, Paragraph, Bold, Italic ],
toolbar: [ 'bold' ]
})
.then((editor) => {
....
})
.catch( error => {
console.error( error );
} );
Run Code Online (Sandbox Code Playgroud)
我尝试使用https://ckeditor.com/docs/ckeditor5/latest/api/module_engine_view_placeholder.html#static-function-attachPlaceholder中的AttachPlaceholder
import { attachPlaceholder } from "@ckeditor/ckeditor5-engine/src/view/placeholder";
Run Code Online (Sandbox Code Playgroud)
您能否向我展示如何使用此方法(attachPlaceholder)或如何执行的简单示例。
如何将javascript字符串拆分为foo\nbar\baz
一系列行,同时保留换行符?我想得到['foo\n', 'bar\n', 'baz']
输出;
我知道有很多可能的答案 - 我只是想要找一个时髦的答案.
使用perl我会使用零宽度lookbehind断言:split /(?<=\n)/
但是javascript正则表达式不支持它们.
PS.处理不同行结尾(至少\r\n
)和处理丢失的最后一行(如我的例子中)的额外点.
javascript ×3
ckeditor5 ×1
compass-sass ×1
escaping ×1
firebase ×1
graphite ×1
html ×1
ip-address ×1
newline ×1
npm ×1
php ×1
placeholder ×1
reactjs ×1
regex ×1
sass ×1
ubuntu ×1
vuejs2 ×1
webpack-2 ×1
xss ×1