Symfony Encore / Webpack {{ asset('build/app.js') }} 未提供有效路径,从浏览器加载资产时出错
Symfony Encore / Webpack {{ asset('build/app.js') }} not giving a valid path, error loading assets from the browser
刚开始使用 Symfony 和 Encore/Webpack。
我遵循了 Symfony 的教程,我的 webpack.config.js
如下:
var Encore = require('@symfony/webpack-encore');
Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.addEntry('app', './assets/js/app.js')
.addStyleEntry('global', './assets/scss/global.scss')
.enableSassLoader()
.enableLessLoader()
.enablePostCssLoader()
.enableReactPreset()
.autoProvidejQuery()
.enableBuildNotifications()
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
.createSharedEntry('vendor', [
'materialize-css',
'./assets/js/global.js',
])
;
module.exports = Encore.getWebpackConfig();
我的基本观点是:
{% extends 'base.html.twig' %}
{% block body%}
Start
{% endblock %}
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('build/global.css') }}">
{% endblock %}
{% block javascripts %}
<script src="{{ asset('build/app.js') }}"></script>
{% endblock %}
我的问题是,即使这两个文件与文档中的教程几乎相同,在本地主机上测试时,我在加载 css 和 js 假定的输出文件时遇到错误。
我的 manifest.json
有这个,那些文件存在并且在正确的位置编译得很好:
"build/app.js": "/build/app.b9fa9f82050709ad01b8.js",
"build/global.css": "/build/global.ae6834d55ea0d4ff4100ad77aeffad72.css"
chrome 控制台的输出:
GET http://localhost/my-website/public/build/app.js net::ERR_ABORTED localhost/:11
GET http://localhost/my-website/public/build/global.css net::ERR_ABORTED localhost/:6
我刚刚删除了我的项目,以相同的方式重新配置,它现在可以工作了...
刚开始使用 Symfony 和 Encore/Webpack。
我遵循了 Symfony 的教程,我的 webpack.config.js
如下:
var Encore = require('@symfony/webpack-encore');
Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.addEntry('app', './assets/js/app.js')
.addStyleEntry('global', './assets/scss/global.scss')
.enableSassLoader()
.enableLessLoader()
.enablePostCssLoader()
.enableReactPreset()
.autoProvidejQuery()
.enableBuildNotifications()
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
.createSharedEntry('vendor', [
'materialize-css',
'./assets/js/global.js',
])
;
module.exports = Encore.getWebpackConfig();
我的基本观点是:
{% extends 'base.html.twig' %}
{% block body%}
Start
{% endblock %}
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('build/global.css') }}">
{% endblock %}
{% block javascripts %}
<script src="{{ asset('build/app.js') }}"></script>
{% endblock %}
我的问题是,即使这两个文件与文档中的教程几乎相同,在本地主机上测试时,我在加载 css 和 js 假定的输出文件时遇到错误。
我的 manifest.json
有这个,那些文件存在并且在正确的位置编译得很好:
"build/app.js": "/build/app.b9fa9f82050709ad01b8.js",
"build/global.css": "/build/global.ae6834d55ea0d4ff4100ad77aeffad72.css"
chrome 控制台的输出:
GET http://localhost/my-website/public/build/app.js net::ERR_ABORTED localhost/:11
GET http://localhost/my-website/public/build/global.css net::ERR_ABORTED localhost/:6
我刚刚删除了我的项目,以相同的方式重新配置,它现在可以工作了...