Я хотел бы использовать react.min.js
из CDN в производстве (например, https://unpkg.com/[email protected]/dist/react.min.js)Как использовать библиотеку из CDN в проекте WebPack в производстве
Что лучший способ получить Webpack превратить мои import React from 'react'
заявления в const React = window.React
вместо здания node_modules/react
в комплект?
Я делал это с resolve.alias
так:
В index.html
:
<head>
<script type="text/javascript" src="https://unpkg.com/[email protected]/dist/react.min.js"></script>
<script type="text/javascript" src="/assets/bundle.js"></script>
</head>
В webpack.prod.config.js
:
alias: {
react$: './getWindowReact',
},
getWindowReact.js
:
module.exports = window.React;
Примечание: В старом вопросе я не понимал, что строительство Реагирует на пакет Webpack с NODE_ENV=production
будет лишать propTypes
чеков. Один из ответов посвящен этому.
Так получается, Я ошибался в том, что React строится с помощью Webpack, так что это не сработает. Но, похоже, это правильный ответ на использование модуля, который построен с помощью Webpack, поэтому я буду принимать этот ответ. – Andy
@ Andy Я могу не полностью понять ваш комментарий, но предлагаемое здесь требование не требует, чтобы загружаемая библиотека была построена с помощью Webpack. Весь этот пример «externals» показывает webpack, если модуль запрашивает «реагировать», возвращает 'window.React'. – Aaronius
@Aaronius да, извините, я неправильно понял webpack 'externals' в то время ... документы для них выглядят неловко. – Andy