【发布时间】:2018-07-01 19:17:11
【问题描述】:
我不知道为什么 Vue 在 Laravel 上的行为与独立的 Vue 应用程序不同。也许我无法理解它需要正常工作的环境。这是发生了什么让我发布了这个问题。
当我安装独立的 Vue 应用程序时,假设当我使用 vue init webpack vueapp 将它安装在完全不同的目录中时,它可以正常工作。当我更新 .vue 文件中的任何内容时,它也会在浏览器中更新,这在我看来是预期的行为,或者可能是因为我在使用 npm run dev 的开发环境中执行它。
但是当我在 laravel 中使用 vue 时,我可以加载模块并且我可以在浏览器中看到加载的模块,但是当我更新某个组件时,它不会在浏览器中更新!它只是没有。每次更新组件文件中的标记时,我都必须重新加载页面。
另外,当我使用 Laravel 在 vue 应用程序中执行 npm run dev 时,它不会像在独立的 vue 应用程序中那样接管终端。很明显,我们不能在相同的开发环境中执行 vue 和 laravel,因为 vue 使用 nodejs 使用端口 8080 而 apache 使用端口 80。
我不知道我错过了什么,但从最近几天开始它就在吞噬我的脑袋。我浏览了互联网上几乎所有可用的教程和所有可用的 StackOverflow 问题,但仍然无法得到它!我认为这是正常行为,但我对 vue.js 的经验较少,因为我是 vue.js 的新手。
任何帮助将不胜感激!
【问题讨论】:
-
使用
npm run hot进行热模块重载。npm run watch将检测文件更改,但某些系统无法正常工作,因此npm run watch --poll会定期轮询文件更改。 Laravel 安装和使用 vue cli 创建的项目之间的最大区别在于 Laravel Mix。它抽象了很多 webpack 配置。 -
不要使用浏览器同步。这只是重新加载页面。您正在寻找热模块更换,即
npm run hot。您可能需要将任何包含的内部 JS 或 CSS 文件引用替换为文档中的 mix(...) 引用。
标签: javascript node.js laravel vue.js vuejs2