Javascript 缩小JS是否找到并替换有效的替代策略?
出于对问题不重要的原因(使用create react app的输出,希望在构建后参数化一些变量,即当它们被部署时),我希望用一个值替换字符串的所有实例,即“replace_ME”Javascript 缩小JS是否找到并替换有效的替代策略?,javascript,reactjs,minify,bundling-and-minification,Javascript,Reactjs,Minify,Bundling And Minification,出于对问题不重要的原因(使用create react app的输出,希望在构建后参数化一些变量,即当它们被部署时),我希望用一个值替换字符串的所有实例,即“replace_ME” 如果我可以访问未缩小的javascript,这将是微不足道的;但是,我想知道在缩小的javascript上查找和替换是否足够?create react应用程序正在后台使用Webpack,您可以使用它在构建时实现这一点 // webpack.config.js const webpack = require('webpa
如果我可以访问未缩小的javascript,这将是微不足道的;但是,我想知道在缩小的javascript上查找和替换是否足够?create react应用程序正在后台使用Webpack,您可以使用它在构建时实现这一点
// webpack.config.js
const webpack = require('webpack');
const config = {
entry: './src/index.js',
output: {
...
},
plugins: [
new webpack.DefinePlugin({
REPLACE_ME: JSON.stringify('yourBuildTimeValueGoesHere'),
}),
...
],
...
}
module.exports = config;
缩小的JS应该让所有字符串保持不变,所以是的,它应该可以正常工作。这取决于代码所经历的转换。如果您的转换在传输之前做了一些奇怪的事情,比如base64编码所有内容,那么查找/替换可能不起作用。这需要弹出或使用forked
react脚本。我认为这是一种可行的方法;不过,我希望在构建后进行参数化-部署模式实际上是将react脚本的输出构建并将缩小的js/css和资产部署到nginx服务器,因此我希望在服务器部署期间参数化变量。。。目前正在考虑服务器启动脚本中的sed替换是否足够@chrisG说,字符串在缩小的文件中保持原样,因此sed应该可以工作。