我正在尝试使用资源管道将rails 同步与rails配合使用.
我正在尝试在我的rails应用程序中使用browsersync.它有许多很棒的功能,观看css文件进行更改并将这些更改注入页面就是其中一项功能.
默认情况下,rails会在请求时将sass编译为css.所以,afaik,不可能给browserync提供app.css的路径.
在我的浏览器中同步配置文件 -
files: ["rails/doesnt/have/the/css/yet/application/so/i/dont/know.what/to/do.css", ]
Run Code Online (Sandbox Code Playgroud)
如果我将配置指向sass文件,页面将重新加载(完全刷新)而不是注入更改.这是不好的.我希望将css更改注入页面.
files: ["assets/application.scss", ] //this causes full page refresh, which is bad.
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何将browsersync指向已编译的css?
这似乎是一个常见的问题,但经过几天的积极搜索后,我找不到任何适合我的解决方案.
首先,我无法在Windows上安装fsevents,这可能是问题所在,因为它是用于在OS X上观看的库.
D:\file>npm install webpack
file@1.0.0 D:\file
`-- webpack@1.13.1
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.13
Run Code Online (Sandbox Code Playgroud)
所以,如果你--watch在windows上工作,请告诉我,你在安装webpack时跳过fsevents有同样的问题吗?
其次,webpack --watch编译文件,但它根本不看.
例如,如果我使用手写笔手表,那么它实际上会阻止我的命令行,直到我按下ctrl + c
D:\file>stylus -w style.styl
watching C:/Users/...
compiled style.css
watching style.styl
_
Run Code Online (Sandbox Code Playgroud)
只有在ctrl + c之后它才能解锁我的键盘.
^CTerminate batch job (Y/N)? y
Run Code Online (Sandbox Code Playgroud)
虽然webpack -w完全不同.它不仅不是在变化上编译文件,而且它根本就不在观看.我的意思是在输入命令之后,webpack --watch它正在编译文件一次,但它不会锁定我的键盘,因此它允许我编写另一个命令.
D:\webpa>webpack main.js bundle.js
D:\webpa>webpack …Run Code Online (Sandbox Code Playgroud) 我们目前正在使用带有--watch标志的webpack .如果有一个类似于babel可用的跳过初始构建标志,那将是很好的.有谁知道这是否可以使用webpack?
我一直在尝试使用 --watch 标志将 Mocha 设置为自动监视文件中的更改。我在 package.json 中设置了两个脚本,如下所示:
"test": "mocha",
"test:watch": "mocha --watch ./test ./game_logic"
Run Code Online (Sandbox Code Playgroud)
当调用第一个脚本时,npm test测试执行时没有错误,但是当我调用第二个脚本时npm run test:watch,会引发以下错误:
(node:149779) UnhandledPromiseRejectionWarning: Error [ERR_REQUIRE_ESM]: Must use import to load
ES Module: <path to test file contained in /test>
Run Code Online (Sandbox Code Playgroud)
我不太明白错误消息,因为我已经在使用import每当我将整个文件或单独的功能从一个文件导入另一个文件时,我就已经在使用了。
Mocha 的文档指出支持将测试编写为 ES 模块,因此我真的不知道为什么会发生所描述的错误。
我有一个带有名为 prop 的 Vue 组件product,它是一个具有一堆属性的对象。而且它经常变化。
export default {
props: {
product: {
type: Object,
default: () => {},
},
},
watch: {
'product.p1'() {
this.loadData()
},
'product.p2'() {
this.loadData()
},
},
methods: {
loadData() {
doApiRequest(this.product.p1, this.product.p2)
}
},
}
Run Code Online (Sandbox Code Playgroud)
p1当仅属性和p2of product发生更改时,组件应加载新数据。一种方法是观察整个产品并在更改时加载数据。但它会产生不必要的请求,因为p1和p2可能没有改变。
另一个想法是 watchproduct.p1和product.p2,并调用相同的函数在每个观察器中加载数据。但有可能在新版本的产品中两者p1都发生了变化,会触发2次调用。p2
使用去抖函数进行数据加载会是一个好的解决方案吗?
或者更确切地说,对整体使用单个观察程序product,并将新的p1和p2字符串化的版本与旧的字符串化版本进行比较,以确定是否应该触发数据加载?
Grunt需要很长时间来编译css文件,我不确定这是否正常但是常规指南针需要大约5秒钟.
所以问题是如果有任何方法可以加快Grunt的编译时间,或者只是坚持使用罗盘手表?
Running "compass:dist" (compass) task
?unchanged images/sprite-sf580a96666.png
overwrite stylesheets/app.css (3.263s)
unchanged images/sprite-sf580a96666.png
overwrite stylesheets/app_fr.css (3.289s)
Compilation took 11.116s
Running "watch" task
Completed in 13.974s at Wed Dec 18 2013 13:53:05 GMT-0500 (Eastern Standard Time- Waiting...
OK
>> File "scss\_core.scss" changed.
Run Code Online (Sandbox Code Playgroud)
Gruntfile.js:
compass: {
dist: {
options: {
config: 'config.rb'
}
}
},
watch: {
sass: {
files: ['scss/*.scss'],
tasks: ['compass:dist'],
options: {
spawn: false,
}
},
scripts: {
files: ['js/*.js'],
tasks: ['concat', 'uglify'],
options: {
spawn: false,
}
} …Run Code Online (Sandbox Code Playgroud) performance watch gruntjs grunt-contrib-watch grunt-contrib-compass
您可以通过以下步骤在XCode中轻松设置观察点(顺便提一下,如果有更简单的方法,我想知道它......):
- 运行程序
- 在使用变量的代码中设置断点
-到达断点时,右键单击变量并选择"Watch"nameOfTheVariable"'
- 继续执行.
唯一的问题是每次变量值改变时执行都会停止.我希望XCode继续执行而不停止,即只显示控制台输出中的值更改.
这个功能似乎在命令行模式下可用,虽然我最初想避免它,但是我发布了一个使用该模式的解决方案(见下文),因为它似乎是我想要的唯一方法,即在显示变量时继续执行变化.
我正在尝试使用以下方法在文件更改时使用 eslint 对我的文件进行 lint 处理npm scripts:
"scripts": {
"lint": "eslint ./* lib",
"lint:watch":"watch 'npm run lint' .",
"test": "echo \"Error: no test specified\" && exit 1"
}
Run Code Online (Sandbox Code Playgroud)
我使用watch包来完成此任务。
我发现监视任务无限循环运行。eslint 是否写入应用程序根目录中的文件。如果是这样,我怎样才能教 watch 忽略eslint.
我的.eslintrc,如果有必要的话:
{
"parser":"babel-eslint",
"extends":"eslint:recommended",
"rules":{
"strict":2,
"no-var":2,
"prefer-template":2,
"prefer-arrow-callback":1,
"prefer-rest-params":2,
"prefer-spread":2,
"object-shorthand":1,
"no-duplicate-imports":2,
"no-confusing-arrow":2,
"comma-dangle":0
}
}
Run Code Online (Sandbox Code Playgroud) 我找不到简单易用的解决方案来检测文本字段中的更改。我不想使用,(keypress)因为用户有时会将值粘贴到字段中。(onchange)仅在用户模糊场时才起作用。我想立即发现变化。
什么是最简单的angular js $ watch等价物?
当我在Rider(网络核心)中按下运行按钮时,它运行以下命令:
/usr/local/share/dotnet/dotnet /pathtomyproject/myproject.dll
Run Code Online (Sandbox Code Playgroud)
但我需要使用参数"watch"来运行项目,如果我在Rider Edit Configurations的参数中编写此命令,我会收到错误:
Unhandled Exception: System.FormatException: Unrecognized argument format: 'watch'.
Run Code Online (Sandbox Code Playgroud)
我知道用watch工具运行是dotnet watch run,我也知道我可以在终端中运行该命令.
我的问题是,当我按下运行按钮时,我是否可以将Rider配置为以这种方式运行?或者......也许Rider有一个我不知道的编辑和继续功能?
watch ×10
javascript ×3
node.js ×2
webpack ×2
.net-core ×1
angular ×1
c# ×1
eslint ×1
fsevents ×1
gruntjs ×1
mocha.js ×1
npm ×1
onchange ×1
package.json ×1
performance ×1
rider ×1
sprockets ×1
typescript ×1
unit-testing ×1
vue.js ×1
vuejs2 ×1
watchpoint ×1
windows-7 ×1
xcode ×1