我正在尝试在 AWS 无服务器平台上部署我的 Laravel 应用程序,我在我的 Laravel-mix 中使用动态导入和代码拆分来编译资产,要执行此操作我按照bref 包文档中的步骤安装了所需的图书馆按照指示,我还将我的公共目录与我的 s3 存储桶同步
npm run prod
aws s3 sync public/ s3://<bucket-name>/ --delete --exclude index.php
Run Code Online (Sandbox Code Playgroud)
并将我的.env文件配置为:
MIX_ASSET_URL=https://<bucket-name>.s3.amazonaws.com
ASSET_URL=https://<bucket-name>.s3.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
接下来我将我的blade文件配置为:
<script src="{{ asset('nits-assets/js/app.js') }}"></script>
Run Code Online (Sandbox Code Playgroud)
我的webpack.mix.js文件有:
const mix = require('laravel-mix')
const webpack = require('webpack');
const ASSET_URL = process.env.ASSET_URL + "/";
mix.js('resources/js/app.js', 'public/nits-assets/js')
.postCss('resources/sass/app.css', 'public/nits-assets/css', [
require("tailwindcss"),
])
.webpackConfig({
output: {
chunkFilename: 'nits-assets/chunks/[name].[contenthash].js',
publicPath: ASSET_URL
},
resolve: {
symlinks: false,
alias: {
NitsModels: path.resolve(__dirname, 'Models'),
},
},
plugins: [ …Run Code Online (Sandbox Code Playgroud)