在elm-package中查看源目录

时间:2017-09-08 18:57:08

标签: gulp elm

使用榆木0.18。

如何让elm查看src/文件夹中的所有模块?我已将模块安排到目录中,但当我将模块放入I cannot find module 'ViewsUserLogin'

时,我收到src/views/user.之类的错误

我已经以这种方式将文件添加到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']);

1 个答案:

答案 0 :(得分:3)

我会将您的目录大写,然后您可以使用

import Views.User.ViewsUserLogin as ViewsUserLogin 

ViewsUserLogin的顶部需要阅读

module Views.User.ViewsUserLogin exposing (..)

(ps你可能有使用gulp的原因,但是Elm支持使用webpack进行热加载,这使得开发更加简化 - 例如参见https://github.com/simonh1000/elm-webpack-starter

(pps榆树往往不会像javascript那样将文件分开,而且我从未做过双嵌套,例如你甚至在大型项目中提议 - 可能值得你看https://www.youtube.com/watch?v=XpDsk374LDE&t=1827s