用的是react + ts + craco,没有eject
报错原因:Cannot set property 'cdn' of undefined
如果不用ts就没有这个错误
以下是craco.config.js
const path = require('path');
const { whenProd, getPlugin, pluginByName } = require('@craco/craco');
module.exports = {
webpack: {
alias: {
'@': path.resolve(__dirname, 'src')
},
configure: (config) => {
let cdn = {
js: [],
css: []
}
whenProd(() => {
config.externals = {
react: 'React',
'react-dom': 'ReactDOM'
}
cdn = {
js: [
'https://cdnjs.cloudflare.com/ajax/libs/react/18.1.0/umd/react.production.min.js',
'https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.1.0/umd/react-dom.production.min.js',
],
css: []
}
})
const { isFound, match } = getPlugin(
config,
pluginByName('HtmlWebpackPlugin')
)
if (isFound) {
match.options.cdn = cdn // 这行报错
}
return config
}
},
}