【问题标题】:Is there any "publicPath" option or similar in Webpack DllPlugin?Webpack DllPlugin 中是否有任何“publicPath”选项或类似选项?
【发布时间】:2016-11-10 14:38:32
【问题描述】:

我正在使用mxstbr/react-boilerplate,它使用了伟大的DllPlugin,但由于应用程序由/admin 下的nginx 提供服务,因此在尝试从根URL 获取reactBoilerplateDeps.dll.js 文件时它会失败并返回404(它点击http://localhost/reactBoilerplateDeps.dll.js 而不是http://localhost/admin/reactBoilerplateDeps.dll.js)。

是否有任何类似于 Webpack 在 DllPlugin 上的 publicPath 选项的概念,或者以任何方式告诉 DllPlugin 在路径前缀下使用?

【问题讨论】:

    标签: javascript webpack react-boilerplate dllplugin


    【解决方案1】:

    我添加了前缀where the dll scripts are appended to the body:

    dllNames.forEach((dllName) => body.append(`<script data-dll='true' src='/${dllName}.dll.js'></script>`)); dllNames.forEach((dllName) => body.append(`<script data-dll='true' src='/${somePrefix}${dllName}.dll.js'></script>`));

    此外,根据您代理请求的方式,您应该确保开发服务器正确处理文件名。因此,如果您还将前缀传递给开发服务器,则应将其从请求路径 here 中删除。

    【讨论】:

      【解决方案2】:

      webpack.dev.babel.js 格式,点击here

      我也在苦苦挣扎,但尝试了以下方法:

      1) 去你的 webpack.dev.babel.js

      2) 转到您添加此内容的行:

      dllNames.forEach((dllName) => body.append(&lt;script data-dll='true' src='/${dllName}.dll.js'&gt;&lt;/script&gt;));

      3) 删除“反斜杠”(/),因为安装后的 node_modules 文件是公开可用的。因此,删除后,它将是:

      dllNames.forEach((dllName) => body.append(&lt;script data-dll='true' src='${dllName}.dll.js'&gt;&lt;/script&gt;));

      4) 运行 npm run build:dll

      5) npm 启动

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-18
        • 1970-01-01
        • 1970-01-01
        • 2011-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多