使用榆木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']);
答案 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)