在react中使用HtmlWebpackPlugin进行使用cdn打包优化遇到的问题

发布于 2022-09-12 22:55:17 字数 1613 浏览 23 评论 0

想使用HtmlWebpackPlugin在craco.config.js对react项目优化,针对个别库使用cdn加载,但是发现如下配置后,htmlWebpackPlugin.options.files.js这里会报错files下找不到
js,【Template execution failed: TypeError: Cannot read property 'js' of undefined
加上console.log("start",htmlWebpackPlugin.options,"end")后发现,输出执行了两次,第一次没问题,第二次类似于htmlWebpackPlugin被初始化了,htmlWebpackPlugin下就没有了files,所以问题在哪里呢?
编译打印结果

这里是craco.config.js

new HtmlWebpackPlugin({
        title: 'React',
        // filename: 'index.html',
        template: path.resolve(__dirname, './public/index.html'),
        files: { // 配置 CDN 引入
          js: [
            'https://unpkg.com/react@17.0.1/umd/react.production.min.js',
            "https://unpkg.com/react-dom@17.0.1/umd/react-dom.production.min.js",
            "https://unpkg.com/react-redux@7.2.2/dist/react-redux.min.js",
            "https://cdn.bootcdn.net/ajax/libs/react-router-dom/5.2.0/react-router-dom.min.js",
            "https://unpkg.com/antd@4.14.0/dist/antd.min.js",
            "https://unpkg.com/redux@4.0.5/dist/redux.min.js",
            "https://unpkg.com/redux-thunk@2.3.0/dist/redux-thunk.min.js"
          ],
          css: [
              "https://unpkg.com/antd@4.14.0/dist/antd.min.css"
          ]
        }
      }),
这里是index.html

<% console.log("start",htmlWebpackPlugin.options,"end") %>

<% for (var i in htmlWebpackPlugin.options.files.js) { %>
    <script type="text/javascript" src="<%= htmlWebpackPlugin.options.files.js[i] %>"></script>
<% } %>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

相思故 2022-09-19 22:55:17

htmlWebpackPlugin.options 只能有这些配置值 html-webpack-plugin#options
如果想排除一些固定库,通过 cdn 引入,应该使用 externals
配置项。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文