Не удается найти файл Mix при развертывании laravel на виртуальном хостинге - PullRequest
1 голос
/ 10 октября 2019

Мы попытались развернуть наш сервер laravel, загрузив нашу папку laravel на сервер linux. Мы помещаем общую папку в public_html / laravelsite, а все остальное в папку с именем laravelsite. Мы добавили

   $this->app->bind('path.public', function() {
        return base_path().'/../public_html';
    });

в наш AppServiceProvider. Но при просмотре сайта в браузере мы получаем следующие ошибки:

app.css: 1 Не удалось загрузить ресурс: сервер ответил с состоянием 500 (Внутренняя ошибка сервера) bootstrap.js:1

Не удалось загрузить ресурс: сервер ответил с состоянием 500 (Внутренняя ошибка сервера) app.js: 1

Не удалось загрузить ресурс: сервер ответил с состоянием 500 (Внутренняя ошибка сервера) bootstrap.js: 1

Не удалось загрузить ресурс: сервер ответил со статусом 500 (Внутренняя ошибка сервера) app.js: 1

Не удалось загрузить ресурс:Сервер ответил со статусом 500 (Внутренняя ошибка сервера) app.css: 1

app.css: 1 Не удалось загрузить ресурс: сервер ответил со статусом 500 (Внутренняя ошибка сервера) app.css:1

Я прокомментировал код, который выдает ошибки при посадке. Клинок Итак, мы посмотрели следующий пост

Как изменить публичный путь на что-то, содержащееподчеркнуть в Ларavel Mix?

Но это не сработало для нас.

landing.blade (целевая страница)

<!DOCTYPE html>
<!-- hidden override for w3 style this has to be removed before this goes in production !!!!!!!! -->
<html style="overflow:hidden">

<head>
    <meta property="og:image" content="/favicon.png" />
    <title>Laravel Site</title>
    <meta name="description" content="Welcome to out Laravel Site. Come on in!" />
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="csrf-token" content="{{csrf_token()}}">
    <!-- This is the first error -->
    <link href=" {{ mix('css/app.css') }}" rel="stylesheet">
    <link href='https://fonts.googleapis.com/css?family=Raleway:800' rel='stylesheet'>
    <link href='https://fonts.googleapis.com/css?family=Raleway:500' rel='stylesheet' type='text/css'>
    <link href=" {{ asset('css/animate.css') }}" rel="stylesheet">
    <link href=" {{ asset('css/text-editor.css') }}" rel="stylesheet">
    <link href='https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons' rel="stylesheet">
    <script src="https://d3-geomap.github.io/d3-geomap/vendor/d3.geomap.dependencies.min.js"></script>
    <script src="https://d3-geomap.github.io/d3-geomap/js/d3.geomap.min.js"></script>
</head>

<body style="background-color: #f2f2f2;">
    <div id="app">
        <app></app>
    </div>
        <!-- This is the second error -->
    <script src="{{ mix('js/bootstrap.js') }}"></script>
        <!-- This is the third error -->
    <script src="{{ mix('js/app.js') }}"></script>
</body>

</html>

webpack.mix

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

mix.setPublicPath("public_html/laravelsite/");
/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */
mix.webpackConfig({
  resolve: {
    extensions: [".js", ".vue", ".json"],
    alias: {
      vue$: "vue/dist/vue.esm.js",
      "@": __dirname + "/resources/assets/js"
    }
  }
});

mix
  .js("resources/assets/js/app.js", "public_html/laravelsite/js")
  .setResourceRoot("")
  .js("resources/assets/js/bootstrap.js", "public_html/laravelsite/js")
  .sass("resources/assets/sass/app.scss", "public_html/laravelsite/css");

Он пытаетсязагрузите файлы в http://websitename.com/css/app.css, так что, вероятно, они находятся в папке public_html. Но внутри этой папки у нас есть еще одна папка с именем laravelsite, поэтому она должна искать http://websitename.com/laravelsite/css/app.css

1 Ответ

0 голосов
/ 21 октября 2019

При загрузке приложения laravel у laravel возникают проблемы с поиском «истинного корневого каталога». Возможно, вам придется изменить каталог загрузки и каталог хранения в конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...