tomthestorm

tomthestorm

Problem with Phoenix and Elm with Webpack [SOLVED]

Hi, I try to use Elm with Phoenix .
In files I have
package.json :

"dependencies": {
    "elm": "^0.19.1-3",
    "elm-webpack-loader": "^6.0.1",
    "phoenix": "file:../deps/phoenix",
    "phoenix_html": "file:../deps/phoenix_html"
  },

in webpack.config.js

{
        test: /\.elm$/,
        exclude: [/elm-stuff/, /node_modules/],
        use: {
           loader: 'elm-webpack-loader',
           options: {
              cwd: path.resolve(__dirname, 'elm')
           }
        }
      }

in js/app.js

import { ELm } from "../elm/src/Main.elm";
  
Elm.Main.init({
    node: document.getElementById('elm-main')
}) 

Elm file (in asset/elm/src/Main.elm) :

module Main exposing (main)
import Html exposing (text)
main =
    text "Hello Elm and Phoenix!" 

and in index.html.eex

<div id="elm-main"></div>

All is compiled well ,

[./elm/src/Main.elm] 86.6 KiB {./js/app.js} [built]
[./js/app.js] 611 bytes {./js/app.js} [built]
   [0] multi ./js/app.js 28 bytes {./js/app.js} [built]
    + 2 hidden modules

but I’ve got error in JS console on website:

Elm.Main.init({
  node: document.getElementById('elm-main')
})
Uncaught ReferenceError: Elm is not defined

so ELM is not working. I have no idea where the problem is . Thanks in advance for help.

Marked As Solved

tomthestorm

tomthestorm

I’ve changed :

import { Elm } from "../elm/src/Main.elm";
    
Elm.Main.init({
    node: document.getElementById('elm-main')
})

to :

import { elm } from "../elm/src/Main.elm";
    
elm.Main.init({
    node: document.getElementById('elm-main')
})

got error , but when I restored previous code , now works . Strange but now works .

Where Next?

Popular in Questions Top

Kurisu
For example for a current url like http://localhost:4000/cosmetic/products?_utf8=✓&amp;query=perfume&amp;page=2, I would like to get: ...
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New

Other popular topics Top

lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID&lt;0.412.0&gt; terminating ** (Postgrex.Error) FATAL...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39297 209
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New

We're in Beta

About us Mission Statement