如何使用Webpack Encore在Heroku上编译资产?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Webpack Encore在Heroku上编译资产?相关的知识,希望对你有一定的参考价值。

我在我的Symfony heroku应用程序中添加了一个heroku / nodejs buildpack,我可以安装我的yarn依赖项。

但是我无法跑步

$ yarn run encore production 

我总是有同样的错误Command "encore" not found我是否在composer.json中运行命令:

// composer.json
 "compile": [
     "node_modules/.bin/encore production",
     [•••]

或者在package.json中

//package.json

  "scripts": {
    "heroku-postbuild" : "yarn run encore production"
    [•••]
答案

在package.json根文件中:

"scripts": {
    ...
    "heroku-postbuild" : "node_modules/.bin/encore production"
}

它将运行您的webpack再现并运行您的其他npm模块。

另一答案

我总是运行Encore命令为cd my-project/ && ./node_modules/.bin/encore ...这对你有用吗?

另一答案

对于来到这里的任何人,您首先需要将节点buildpack添加到您的应用程序,如this question

确保在php之前添加节点buildpack。

然后,将"node_modules/.bin/encore production"添加到您的编译中(如问题所示)。

最后,正如评论中所写,不要忘记在devDependencies中将webpack依赖关系从dependencies更改为package.json

以上是关于如何使用Webpack Encore在Heroku上编译资产?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Symfony 项目中使用 jQuery 和 webpack-encore?

如何在 webpack encore 文件之外使用节点模块?

Webpack 5 (Webpack Encore):如何在同一页面上运行多个 webpack 实例并避免任何冲突?

使用 TailwindCSS 和 Symfony Webpack Encore

Symfony Webpack Encore:从Bundle导入.js

Symfony 4 - Webpack-encore 使用 FosJsRouting :路由未定义