Пытаясь следовать этому руководству: Веб-приложение для чата с использованием Phoenix и Vue.js - Часть 1, я застрял там, где я должен увидеть это сообщение в консоли браузера.
Joined successfully Object {ob: Observer}
Я следую всем инструкциям:
app.js:61 Uncaught Error: Cannot find module 'web/static/js/app' from '/' at require (app.js:61) at browser.js:190
Я перепробовал все, что нашел в Интернете, но все равно не могу.
Ниже мой код и расположение файла в проекте:
веб / статика / app.js
import "phoenix_html"
import socket from "/js/socket"
веб / статика / js / socket.js
import {Socket} from "phoenix"
import Vue from 'vue'
import MyApp from "../components/my-app.vue"
let socket = new Socket("/socket", {params: {token: window.userToken}})
socket.connect()
// Create the main component
Vue.component('my-app', MyApp)
// And create the top-level view model:
new Vue({
el: '#app',
render(createElement) {
return createElement(MyApp, {})
}
});
Интернет / каналы / room_channel.ex
defmodule Vuechat.RoomChannel do
use Vuechat.Web, :channel
def join("room:lobby", payload, socket) do
{:ok, socket}
end
def join("room:" <> _private_room_id, _params, _socket) do
{:error, %{reason: "Unauthorized"}}
end
def handle_in("new_msg", %{"body" => body}, socket) do
broadcast! socket, "new_msg", %{body: body}
{:noreply, socket}
end
def handle_out("new_msg", payload, socket) do
push socket, "new_msg", payload
{:noreply, socket}
end
end
У кого-нибудь есть решение по этому поводу?
Я не знаю, поможет ли это вам, но я не мог комментировать.
Возможно, вы забыли запустить эти команды:
npm install --save vue vue-router
npm install --save-dev vue-brunch babel-plugin-transform-runtime
Если вы не установите указанные выше зависимости, ошибка будет такой же, как и у вас.
В сообщении об ошибке говорится, что вы ожидаете app.js в веб / статика / js / приложение, но ваш, похоже, находится в веб / статика / app.js. Попробуйте переместить файл в папку / js /.