这是在运行这些命令的上下文中:
node_modules/.bin/au run --watch --env prod
node_modules/.bin/au run --watch
我们的 run.ts
具有以下内容。
let watch = function() {
gulp.watch(project.transpiler.source, refresh).on('change', onChange);
gulp.watch(project.markupProcessor.source, refresh).on('change', onChange);
gulp.watch(project.cssProcessor.source, refresh).on('change', onChange);
gulp.watch(project.sassProcessor.source, refresh).on('change', onChange);
}
观察者确实检测到 HTML 文件中的更改并重新加载页面。例如,当我们更改 src\profile.html
时,我们会在命令行窗口中看到以下内容。
File Changed: src\profile.html
Starting 'readProjectConfiguration'...
Finished 'readProjectConfiguration'
Starting 'processMarkup'...
Starting 'processSass'...
Starting 'processCSS'...
Starting 'configureEnvironment'...
Finished 'configureEnvironment'
Starting 'buildTypeScript'...
Finished 'processCSS'
Finished 'processMarkup'
Finished 'buildTypeScript'
Finished 'processSass'
Starting 'writeBundles'...
writeBundlesTracing profile...
Writing app-bundle-5d7004f1cd.js...
Finished 'writeBundles'
Starting 'reload'...
Finished 'reload'
问题是更改没有出现在浏览器窗口中。换句话说,例如,Chrome 会重新加载个人资料页面,但不会显示对 HTML 内容的任何更改。
最佳答案
问题与设置aurelia.json
有关> build.options.rev
至 true
. GitHub 存储库中有一个相关问题。解决方法是设置 rev
如下:
"options": {
"minify": "stage & prod",
"sourcemaps": "dev & stage",
"rev": "stage & prod"
},
现在运行 au run --watch
在dev
在 stage
中运行时,watcher 会工作,但它仍然不会工作。或 prod
环境。
关于javascript - 观察者检测到变化并重新加载页面而不包括变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40114963/