常见问题与常见问题
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 4.3,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
常见问题与常见问题
我如何部署安可资产?
有两个重要的事情要记住当部署你的资产。
1)编制资产用于生产
优化你的资产生产运行:
1
美元/ node_modules /。bin /安可生产
会贬低你的资产,让其他的性能优化。耶!
但是,你运行这个命令在服务器应该什么?这取决于你如何部署。例如,您可以执行这个本地(或构建服务器上),和使用rsync或者其他东西生成的文件转移到生产服务器。或者,你可以把你的文件在您的生产服务器上(例如通过git拉
),然后运行这个命令生产(理想情况下,前交通支安打您的代码)。在这种情况下,您将需要安装节点。js在生产服务器上。
2)只部署了资产
的只有文件需要部署到生产服务器最后,建立资产(如公共/构建
目录)。你做不需要安装节点。js、部署webpack.config.js
,node_modules
目录或甚至你的源资产文件,除非你计划跑步安可生产
在你的生产机器。一旦你的资产,这些都是只有件事需要住在生产服务器上。
我需要安装节点。js在我的生产服务器?
不,除非你打算生产服务器上建立你的生产资产,这是不可取的。看到我如何部署安可资产?。
我应该致力于git哪些文件?我应该忽略,哪些?
你应该提交所有的文件到git,除了node_modules /
目录和构建文件。你的.gitignore
文件应包括:
1 2 3
/ node_modules / #不管什么路你传递给Encore.setOutputPath() /公共/构建
你应该提交所有源资产文件,package.json
和yarn.lock
。
我的应用住子目录下
如果你的应用并不住在您的web服务器的根(即它生活在子目录下,像/ myAppSubdir
),您将需要配置,当调用Encore.setPublicPath ()
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/ / webpack.config.jsEncore // ... .setOutputPath('public/build/').setPublicPath(/构建)+ / / *你*如此公共道路+ .setPublicPath (/ myAppSubdir /构建)+ / /这是现在需要的,这样你的清单。json钥匙仍“构建/ foo.js”+ / /(这是一个文件,使用Symfony的资产()的函数)ob娱乐下载+ .setManifestKeyPrefix(“构建”);
如果你使用encore_entry_script_tags ()
和encore_entry_link_tags ()
(或树枝的快捷方式通过entrypoints.json处理你的资产以其它方式)你完成!这些快捷方式的方法从一个读取entrypoints.json文件现在包含子目录。
“jQuery没有定义”或“美元没有定义”
这个错误发生在您的代码(或者一些库,您正在使用)的预期美元
或jQuery
是一个全局变量。但是,当你使用Webpack和要求(“jquery”)
,没有全局变量设置。
解决取决于如果错误发生在您的代码或在你使用一些第三方代码。看到jQuery插件和遗留应用程序修复。
未捕获ReferenceError: webpackJsonp不是定义
如果你有这种错误,这可能是因为你忘了添加脚本
标记runtime.js
文件,其中包含Webpack的运行时。如果你使用encore_entry_script_tags ()
嫩枝功能,这应该不会发生:文件脚本标记自动呈现。
这种依赖性没有发现:一些模块/路径/ / file.js
通常,安装一个包通过纱后,您可以使用它需要/导入。例如,在运行纱添加respond.js
,你想要求模块:
1
需要(“respond.js”);
但是,而不是工作,你看到一个错误:
这种依赖性不存在:
- 回应。js。/资产/ js / app.js
通常,一个包将“广告”的“主要”文件添加一个主要
它的关键package.json
。但有时,老库不会有这个问题。相反,你需要特别需要你所需要的文件。在这种情况下,您应该使用位于文件node_modules respond.js / / respond.src.js不在座位上
。你可以要求通过:
1 2
/ /需要non-minified文件尽可能需要(“respond.js /桌子/ respond.src.js”);
我需要第三方模块上执行巴别塔
针对性能、安可不过程内库node_modules /
通过巴别塔。但是,你可以通过改变configureBabel ()
方法。看到配置巴别塔获取详细信息。
如何整合我再来一个我的IDE配置吗?
在PhpStorm Webpack集成和其他ide使开发更有效率(例如通过解决别名)。然而,你可能会面对这个错误:
1 2 3 4
Encore.setOutputPath()不能,因为运行时环境似乎不配置。确保你使用安可可执行或叫Encore.configureRuntimeEnvironment()首先如果你故意不直接调用安可。
不能只因为安可运行时环境配置运行时(如在执行纱安可dev
)。打电话来解决这个问题Encore.isRuntimeEnvironmentConfigured ()
和Encore.configureRuntimeEnvironment ()
方法:
1 2 3 4 5 6 7 8
/ / webpack.config.js常量安可=需要(“@ob娱乐下载symfony / webpack-encore”)如果(! Encore.isRuntimeEnvironmentConfigured ()) {Encore.configureRuntimeEnvironment (process.env。NODE_ENV | |“开发”);}/ /……其余的安可配置