如何在榆树中进行实时重新加载/自动页面刷新?

How to do live reloading / automatic page refresh in elm?

我正在尝试从 here. 学习 elm 编程语言,每次小改动都需要手动刷新页面,这让我很烦。

我看到 elm-reactor 不再支持实时重新加载。但是在下一个版本发布之前我能做什么?

解决了! - gulp 魔法拯救世界!

(此解决方案仅适用于 Chrome)这是我基于 on this 所做的:(感谢 janiczek !!:))

  1. 在您的根目录中添加一个名为 gulpfile.js
  2. 的新文件
  3. 将此内容粘贴到里面:

gulpfile.js:

evar gulp = require('gulp');
var elm  = require('gulp-elm');
var concat = require('gulp-concat');
var plumber = require('gulp-plumber');
var livereload = require('gulp-livereload');

var path = ['*.elm']; // here you adjust the path according with your needs.
                      // For ex: 'scr/**/*.elm' - maps to every folder and file nested inside the src folder.
gulp.task('elm-init', elm.init);

gulp.task('elm', ['elm-init'], function(){
  return gulp.src(path)
    .pipe(plumber())
    .pipe(elm())
    .pipe(concat('elmapp.compiled.js'))
    .pipe(gulp.dest('js'))
    .pipe(livereload());
});

gulp.task('default',['watch']);

gulp.task('watch', function(){
  livereload.listen();
  gulp.watch(path,['elm']);
});
  1. 如果没有 运行:

    ,则必须全局安装 gulp
     npm install gulp -g
    
  2. 安装 gulp 依赖项:

     npm install gulp-elm gulp-concat gulp-plumber gulp-livereload
    
  3. 安装this extension: (chrome only)
  4. 运行 elm-reactor 并在 Chrome.
  5. 中打开您的页面
  6. 在你的终端里面,在根目录(或者你的gulpfile.js所在的任何地方)运行:gulp
  7. 打开 elm 页面选项卡,按 Chorme 扩展程序上的 LiveReload 按钮。像下面一样并确保它说:

  1. 一切顺利! :)

Elm 编译器不喜欢 .js 周围的文件,因此您仍然会看到 2 个错误。别管他们。对我来说,其他一切都按预期工作。

我一般用elm-live.

如果只是将Elm编译成js,非常简单易用