一、常規(guī)環(huán)境變量配置
使用webpack.DefinePlugin插件來定義全局常量
1. 使用webpack.DefinePlugin定義全局常量
在webpack配置文件中(例如 webpack.config.js)中
const webpack = require('webpack');
module.exports = {
// ... 其他配置項
plugins: [
new webpack.DefinePlugin({
'process.env.YOUR_ENV_VAR': JSON.stringify('your_value')
})
]
};
這里,我們設(shè)置了一個環(huán)境變量YOUR_ENV_VAR,并為其賦了一個值your_value。
2. 在Vue靜態(tài)頁面中使用該環(huán)境變量
在a.html頁面中,你可以通過以下方式訪問這個變量:
<script>
if (process.env.YOUR_ENV_VAR === 'your_value') {
// 你的代碼
}
</script>
為了在a.html中使用process.env.YOUR_ENV_VAR,a.html應該被Vue和Webpack處理。如果a.html是一個純靜態(tài)頁面且沒有被Webpack處理,這種方式可能不起作用。在這種情況下,你可能需要在構(gòu)建時動態(tài)生成或處理HTML文件。
二、純靜態(tài)文件配置環(huán)境變量
使用htmlwebpackplugin
可以使用html-webpack-plugin在構(gòu)建時處理該HTML文件并注入變量
1. 使用npm或yarn安裝html-webpack-plugin
npm install --save-dev html-webpack-plugin
2. 在Webpack配置中引入并使用插件
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
// ... 其他配置項
plugins: [
new HtmlWebpackPlugin({
template: 'path_to_your_a.html', // 指定你的a.html文件路徑
filename: 'a.html', // 輸出的HTML文件名,可以保持為a.html
inject: false, // 這確保了不自動注入bundle到html中
templateParameters: {
YOUR_ENV_VAR: 'your_value' // 你的環(huán)境變量
}
})
]
};
在a.html 中使用該環(huán)境變量
<script>
var envVar = '<%= YOUR_ENV_VAR %>';
if (envVar === 'your_value') {
// 你的代碼
}
</script>
如果你覺得上面的書寫方式太復雜,可以使用 htmlwebpackplugin.options配置。文章來源:http://www.zghlxwxcb.cn/news/detail-736647.html
3. 使用htmlwebpackplugin.options方式配置環(huán)境變量
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
// ... 其他配置項
plugins: [
new HtmlWebpackPlugin({
template: 'path_to_your_a.html', // 指定你的a.html文件路徑
filename: 'a.html', // 輸出的HTML文件名,可以保持為a.html
inject: false, // 這確保了不自動注入bundle到html中
YOUR_ENV_VAR: 'your_value' // 設(shè)置參數(shù)
})
]
};
在a.html模板中引用這個參數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-736647.html
<script>
var envVar = '<%= htmlWebpackPlugin.options.YOUR_ENV_VAR %>';
if (envVar === 'your_value') {
// 你的代碼
}
</script>
到了這里,關(guān)于webpack打包時配置環(huán)境變量的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!