查看 elm-package 中的源目录

Viewing source-directories in elm-package

使用榆树 0.18。

如何让 elm 查看 src/ 文件夹中的所有模块?我已将我的模块安排到目录中,但是当我将模块放入 src/views/user.

时,出现 I cannot find module 'ViewsUserLogin' 之类的错误

我已经以这种方式将文件添加到 elm-package,但它仍然找不到除兄弟文件以外的任何内容:

"source-directories": [
    "./src",
    "./src/views/",
    "./src/views/user/",
    ...
    "./dist"
],

最后我想告诉elm-package去寻找src/里面的所有文件。我该如何解决这些问题?

编辑:我也在使用 gulp。

// gulpfile.js

var gulp = require('gulp');
var elm = require('gulp-elm');
var gutil = require('gulp-util');
var plumber = require('gulp-plumber');
var connect = require('gulp-connect');

// File paths
var paths = {
  dest: 'dist',
  elm: 'src/*.elm',
  static: 'src/*.{html,css}'
};

// Init Elm
gulp.task('elm-init', elm.init);

// Compile Elm to HTML
gulp.task('elm', ['elm-init'], function(){
    return gulp.src(paths.elm)
        .pipe(plumber())
        .pipe(elm())
        .pipe(gulp.dest(paths.dest));
});

// Move static assets to dist
gulp.task('static', function() {
    return gulp.src(paths.static)
        .pipe(plumber())
        .pipe(gulp.dest(paths.dest));
});

// Watch for changes and compile
gulp.task('watch', function() {
    gulp.watch(paths.elm, ['elm']);
    gulp.watch(paths.static, ['static']);
});

// Local server
gulp.task('connect', function() {
    connect.server({
        root: 'dist',
        port: 3000
    });
});

// Main gulp tasks
gulp.task('build', ['elm', 'static']);
gulp.task('default', ['connect', 'build', 'watch']);

我会把你的目录大写,然后你就可以用

import Views.User.ViewsUserLogin as ViewsUserLogin 

ViewsUserLogin 的顶部需要阅读

module Views.User.ViewsUserLogin exposing (..)

(ps 你可能有使用 gulp 的原因,但 Elm 支持使用 webpack 进行热加载,这使得开发更加简化 - 例如参见 [​​=12=])

(pps Elm 往往不会像 javascript 那样将文件分开正在观看 https://www.youtube.com/watch?v=XpDsk374LDE&t=1827s)