是否可以在node / js范围之外获取webpack envvar?
我正在使用vueJS和TYPO3进行开发,并希望在运行时从节点服务器加载JS文件。否则,我想从项目文件夹中加载构建的JS文件。 TYPO3具有文件加载的条件,取决于Apache envvar。
far
问题:
背景:
在TYPO3中,js和css包含由TypeScript配置。 在Prod Env:
SetEnv TYPO3_CONTEXT Development
可以通过条件更改此负载:
page.includeJSFooter.app = path/to/build/name.js
现在我想设置这个上下文,一旦我启动我的动态构建文件的节点开发服务器:
[applicationContext = Development]
page.includeJSFooter.app = http://192.168.100.38:8080/app.build.js
[end]
答案 0 :(得分:0)
我怀疑这是可能的,但作为一种解决方案,我建议实现自定义条件(在手册https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/TypoScriptSyntax/TypoScriptParserApi/CustomConditions.html中描述)并在其中检查,例如,如果节点服务器正在响应请求。
答案 1 :(得分:0)
格奥尔和其他所有人,
自定义条件是一种解决方案,但我不想影响生产环境(例如,ping节点服务器的响应)。
我用两个shell脚本创建它,由webpack-shell-plugin执行。 第一个脚本被触发“onBuildStart”,寻找.htaccess文件并添加
SetEnv TYPO3_CONTEXT Development/NodeServer
到文件的末尾。 不幸的是,节点服务器关闭时没有事件被触发。作为一种解决方法,我添加了一个新的npm运行脚本,它只执行一个shell脚本,再次从.htaccess中删除该行。
我想有一个besser解决方案,但是在这个时候,它解决了我(很少)的问题,以避免每次我开始开发时都改变JS包含。