【发布时间】:2020-05-18 03:32:17
【问题描述】:
我在我的 Laravel 项目中从 Vue.JS 进行了基本安装,这是我的 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=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"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=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.19",
"bootstrap": "^4.0.0",
"cross-env": "^5.1",
"jquery": "^3.2",
"laravel-mix": "^5.0.1",
"lodash": "^4.17.13",
"popper.js": "^1.12",
"resolve-url-loader": "^2.3.1",
"sass": "^1.20.1",
"sass-loader": "7.*",
"vue": "^2.5.17",
"vue-template-compiler": "^2.6.10"
}
}
所以我运行这个代码,每个人都在安装后执行 npm run install && npm run dev 为 Laravel 的混合生成文件,每个教程都说我必须把它放在我主要的页脚文件
<script src="{{ asset('js/app.js') }}"></script>
总是说文件不存在,这是真的,因为当我从上面的 mix 中运行这个命令时,这个简单的在一个新的公用文件夹中创建一个 js 和一个 css 文件夹,这是正确的方法吗?因为我没有看到任何关于此命令创建公用文件夹的教程,请参见下图:
所以当我明确提出这条路径时:
<script src="{{ asset('public/js/app.js') }}"></script>
我的 Vue.js 已加载,我在控制台中看到了 Vue.js 的默认文本,但是当我从这个文件中放入模板时 TesteFood.vue
<template>
<h1>Testando VUE</h1>
</template>
没有显示,我也发出了这个命令npm run watch没有成功。
【问题讨论】:
-
你运行
composer require laravel/ui然后运行php artisan ui vue --auth,然后运行npm install && npm run dev? -
应该是
asset('js/app.js')。您的服务器应该指向public文件夹。或者你是这样打开你的页面yousite.com/public? -
嗨,亚当我不希望我的应用程序打开到公共文件夹,所以我对我的应用程序进行了修改,使其位于根文件夹中,所以我将公共文件夹中的 index.php 放在了根文件夹中将 .htacess 放在 root 上并且工作正常。但是这个js只是mix生成的文件
-
@wavrik 嗨 wavrik,如果您回复我,请使用“@adam”,以便我收到通知。将
index.php放在根目录中是一个非常糟糕的主意。每个人都可以访问您的应用程序文件,例如yourdomain.com/app/...或 yourdomain.com/storage/app/..` 等。这是一个巨大的安全风险。 -
@wavrik 及其在
css和js属于公用文件夹的文档中:https://laravel.com/docs/6.x/structure#the-public-directory
标签: javascript laravel vue.js