Vue.js Vue+;Laravel 5.4+;混合-“;无法获取/quot;

Vue.js Vue+;Laravel 5.4+;混合-“;无法获取/quot;,vue.js,laravel-5.4,laravel-mix,Vue.js,Laravel 5.4,Laravel Mix,我下载了一个名为(非常好的BTW)的Serbevel+Vue组件 首先,php工匠服务起作用。一切正常,只是它不会将更改热部署到.vue文件 我终于让npm run hot工作了,但是,当我转到页面时,我收到了浏览器消息: 无法获取/ 采取的行动: 检查了我的依赖项,据我所知,所有这些都是正确的 删除节点模块并重新安装(现在三次)npm安装 创建了一个单独的测试项目,以确认Vue是否进行热重新加载(it 是的) 我怀疑问题出在某个地方,但就我而言,我不知道在哪里 我发现的唯一奇怪的事情是,w

我下载了一个名为(非常好的BTW)的Serbevel+Vue组件

首先,
php工匠服务
起作用。一切正常,只是它不会将更改热部署到.vue文件

我终于让
npm run hot
工作了,但是,当我转到页面时,我收到了浏览器消息:

无法获取/

采取的行动:

  • 检查了我的依赖项,据我所知,所有这些都是正确的
  • 删除节点模块并重新安装(现在三次)
    npm安装
  • 创建了一个单独的测试项目,以确认Vue是否进行热重新加载(it
    是的)
我怀疑问题出在某个地方,但就我而言,我不知道在哪里

我发现的唯一奇怪的事情是,
webpack.config.js
说它将使用
端口3000
,然而,似乎唯一有效的端口是使用artisan时的8000,或者run dev hot使用8080生成上述消息

但是,如果我对文件进行更改,我会得到一个很好的Laravel Mix toast,告诉我构建是否成功,但在浏览器中看不到它们。
webpack.config.js
也有正确的构建路径,即
public/


这是我的package.json文件:

{
  "private": true,
  "scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=./webpack.config.js",
    "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=./webpack.config.js",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=./webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=./webpack.config.js"
  },
  "devDependencies": {
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-stage-2": "^6.24.1",
    "bootstrap-sass": "^3.3.7",
    "cross-env": "^3.2.4",
    "laravel-elixir": "^4.0.4",
    "laravel-mix": "0.*",
    "lodash": "^4.17.4",
    "node-sass": "^4.5.2",
    "vue-loader": "^11.1.4",
    "vue-style-loader": "^2.0.0",
    "vue-template-compiler": "^2.2.4"
  },
  "dependencies": {
    "axios": "^0.15.3",
    "jquery": "^3.1.1",
    "accounting": "^0.4.1",
    "vue-events": "^3.0.1",
    "vue-masked-input": "^0.4.1",
    "vue": "^2.1.10",
    "vuetable-2": "^1.3.1"
  }
}

webpack.config.js
文件与安装的标准文件相同。

您似乎缺少跨环境的路径。。。 试试这个:

"dev": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"hot": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
我已经删除了您的
“开发”:“npm运行开发”
“产品”:“npm运行生产”
。如果要更改命令,只需更改它们即可


希望它能起作用。

对于仍在寻找答案的人

将此添加到webpack.mix.js文件

let mix = require('laravel-mix');

mix.webpackConfig({
    devServer: {
        proxy: {
            '*': 'http://localhost:8000'
        }
    }
});
运行后端服务器(
php artisan-serve
),然后
npm-Run-hot
。这将代理所有前端请求到后端,以便正确处理文件。更多信息

话虽如此,
npm热运行
应该可以在没有开发人员修改的情况下工作


来源

你好,安格斯·西蒙斯,谢谢你的回复。我还在学习这些东西,谢谢你的指点。不幸的是,我仍然得到同样的结果。但你给了我一个新的途径去调查。谢谢,我会重读的。我通过NPM添加了很多东西,所以我想我在某个地方搞砸了。@Anthony你在全球范围内安装了webpack吗?我想Laravel(我在Linux上使用5.4)有些问题。为了测试,我用
laravelnewproject
进行了一次全新的安装。然后是
npm安装
,接着是
npm运行开发
,它进行了构建,但未能启动web服务。然后尝试了
npm run hot
,它显示构建服务和web服务器正在运行,但同样的消息是:在新安装上无法获取“/”,您必须为cross env设置
/dist
文件夹,因为他们更改了它。我尝试了这个,但它给了我404“找不到”的Laravel页面。首先,我将此代码放入
webpack.mix.js
文件中,然后运行
php artisan serve
,然后运行
npm run hot
,但运气不好!!你能帮我吗?