它在本地工作非常完美,但在部署到Gitlab时,在测试阶段使用CI/CD运行的管道时会收到此错误:
Webpacker::
::MissingEntryError:Webpacker无法在/app/public/packs/Yag.json中找到应用程序。可能的原因: 1.您希望将编译的webpacker.yml值设置为true,除非您使用的是
webpack -w或webpack-dev服务器。2. webpack尚未重新运行以反映最新情况。3.您错误地配置了Webpacker的config/webpacker.yml文件。4.您的webpack配置不是在创建一个清单。您的清单包含:{}
下面是application.html文件的几行代码:
<%= stylesheet_link_tag 'application',媒体:'all','data-turbolinks-track':‘重载’%> <%= javascript_pack_tag‘应用程序’,'data-turbolinks-track':'reload‘%>
我的样式表是.scss文件,项目中没有.css文件。
这是我的webpacker.yml:
default:&default source_path: app/javascript source_entry_path: packs public_root_path: public public_output_path: packs cache_path: tmp/cache/webpacker check_yarn_integrity: false webpack_compile_output: true #附加路径webpack应该查找模块#‘app/资产’,‘'engine/foo/app/assets’resolved_paths:# Reload manifest.json on所有请求,因此我们重新加载最新编译的packs cache_manifest: false #提取,并发出一个css文件extract_css: true static_assets_extensions:- .jpg - .jpeg - .png - .gif - .tiff - .ico - .svg - .eot - .otf -。ttf - .woff - .woff2扩展:- .mjs - .js - .sass - .scss - .css - .module.sass - .module.scss - .module.css - .png - .svg - .gif - .jpeg - .jpg开发:<<:*默认编译: true #通过检查package.json验证是否安装了正确的包和版本,yarn.lock,node_modules check_yarn_integrity: true # Reference:https://webpack.js.org/configuration/dev-server/ dev_server:https://webpack.js.org/configuration/dev-server/dev_server: false disable_host_check: localhost端口: 3035 public: localhost:3035允许-原产地:"*“watch_options:忽略:”**/node_node/**“测试:<<:*默认编译: true # public_output_path: packs到一个单独的目录public_output_path:-测试生产:<<:*default # Production取决于启动之前的包预编译以提高性能。编译: false #提取并发出css文件extract_css: true # Cache manifest.json for Performancecache_manifest: true
我有遗漏什么吗?
发布于 2020-10-22 12:08:43
为便于解决,请创建app/javascript/stylesheets文件夹并在该文件夹中添加空的application.scss文件
打开app/javascript/packs/application.js文件后,将文件导入到您的包js文件中;
import '../stylesheets/application';让webpacker用css/scss文件重新编译所有文件。
https://stackoverflow.com/questions/63263890
复制相似问题