运行使用elm的javascript时出现“找不到包”错误

时间:2017-11-01 16:17:55

标签: javascript html json package elm

我有javascript设置,使用elm-static-html-lib生成html,这需要从我的elm代码传入视图,模型和json解码器。

当我尝试使用节点运行javascript时,我收到以下错误消息:“找不到包mdgriffith / style-elements。”

我设置javascript的方式几乎就是它在elm-static-html-lib的github页面的第一个例子中设置的方式:https://github.com/eeue56/elm-static-html-lib

有谁知道为什么会这样?

这似乎是我正在使用的方法的问题,因为当我切换到使用Html.program创建视图时,我没有得到任何依赖的错误。我已经尝试删除elm-stuff /并重建,但它无法解决问题。

这是JS代码:

const esh = require("./node_modules/elm-static-html-lib/dist/index.js");
const fs = require('fs');
const model = { name: "Noah", age : 24 };
//const model = require('./index-new.json'); //with path
const options = { model : model, decoder: "Main.decodeModel", alreadyRun: false };


function generateHtml() {
    esh.default(process.cwd(), "Main.view", options)
    .then((generatedHtml) => {
        fs.writeFileSync("output.html", generatedHtml);
    });
}

generateHtml();

和我的Main.elm模块

module Main exposing (..)

import Html exposing (Html)
import Json.Decode exposing (..)
import Element exposing (..)
import Element.Attributes exposing (percent, width, spacing)
import Element.Events exposing (..)
import Style exposing (..)

-- MODEL


type alias Model =
    { age : Int
    , name : String
    }

type Style
    = None

type Variation
    = Selected

decodeModel : Json.Decode.Decoder Model
decodeModel =
    Json.Decode.map2 Model
        (Json.Decode.field "age" Json.Decode.int)
        (Json.Decode.field "name" Json.Decode.string)


-- VIEW


view : Model -> Element Style variation msg
view model =
  column None [] [text "Hello"]

stylesheet : StyleSheet Style Variation
stylesheet =
    Style.styleSheet
        [ style None [] ]

1 个答案:

答案 0 :(得分:0)

我调查了elm-static-html-lib代码并发现它创建了一个名为.elm-static-html的目录,并根据当前项目创建了另一个elm-package.json并将其放在该目录中,这样该目录也有一个elm-stuff文件夹。由于某种原因,除了elm-lang之外的任何软件包都不会安装,即使它们已在elm-package.json中列出。在这一点上,我想我应该与图书馆的创建者交谈,因为它似乎是他的代码的问题。