【问题标题】:Set webpack environmental variable for apache2为 apache2 设置 webpack 环境变量
【发布时间】:2018-08-31 14:23:51
【问题描述】:

是否可以在 node / js 范围之外获取 webpack envvar?

我正在使用 vueJS 和 TYPO3 进行开发,并希望在节点服务器运行时加载 JS 文件。否则,我想从项目文件夹中加载构建的 JS 文件。 TYPO3 有文件加载条件,依赖于 Apache envvar。

SetEnv TYPO3_CONTEXT Development

问题:

  1. 通过 webpack 启动节点 devserver 时是否可以设置 apache2 envvar?
  2. 如果没有,是否可以挂接该进程并在其中写入一个带有 var 的临时 htaccess 文件,将其放在特定目录中并在我停止节点服务器时将其删除?

背景:

在 TYPO3 中,js 和 css 包含由 TypeScript 配置。 在产品环境中:

page.includeJSFooter.app = path/to/build/name.js

这个负载可以通过条件改变:

[applicationContext = Development]
page.includeJSFooter.app = http://192.168.100.38:8080/app.build.js
[end]

现在我想设置这个上下文,只要我启动我的节点开发服务器,它会即时构建文件:

webpack-dev-server --open --config webpack.dev.js

【问题讨论】:

    标签: node.js apache webpack vue.js typo3


    【解决方案1】:

    我怀疑这是可能的,但作为一种解决方案,我建议实施自定义条件(在手册 https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/TypoScriptSyntax/TypoScriptParserApi/CustomConditions.html 中进行了描述)并在其中检查例如节点服务器是否响应的请求。

    【讨论】:

      【解决方案2】:

      您好 Georg 和所有其他人,

      自定义条件是一种解决方案,但我不想影响生产环境(例如,ping 节点服务器的响应)。

      我使用了两个由 webpack-shell-plugin 执行的 shell 脚本。 第一个脚本被触发“onBuildStart”,寻找一个.htaccess文件并添加

      SetEnv TYPO3_CONTEXT Development/NodeServer
      

      到文件末尾。 不幸的是,当节点服务器关闭时没有触发任何事件。作为一种解决方法,我添加了一个新的 npm run 脚本,它只是执行一个 shell 脚本以再次从 .htaccess 中删除该行。

      我想有一个更好的解决方案,但是这个时候,它解决了我(很少)的问题,以避免每次开始开发时都更改 JS 包含。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-28
        • 1970-01-01
        • 2015-09-03
        • 2013-01-29
        • 2015-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多