更新到 Webpack 5 后,我收到此錯誤:
不應從默認匯出模塊匯入命名的匯出“版本”(匯入為“版本”)(僅默認匯出很快可用)
超級簡單的代碼示例:
import { version } from '../package.json';
export const appVersion = version;
這個問題給出了 的解決方案import * as packageInfo from '../../package.json'; version: packageInfo.version,,但是這會匯入所有的package.json,正如答案注釋中的一些評論一樣,可以將其視為安全風險。
我只需要版本號;如果我必須匯入整個package.json并可能將其公開給我的用戶,最好引入代碼重復并創建和維護兩個單獨的變數:
- 版本在
package.json - 我的 js 應用程式中的版本
但是,我猜有一種安全的匯入方式,package.json而不會讓 Webpack 5 抱怨,我只是不知道。有這樣的方法嗎?
uj5u.com熱心網友回復:
無需匯入 package.json 并將其暴露給應用程式即可解決此問題
- 通過從 npm 安全變數 ($npm_package_version) 獲取而不是將整個 package.json 檔案作為物件串列匯入,從 .env 檔案中獲取變數。
.env
VUE_APP_VERSION=$npm_package_version
應用程式.vue
data() {
return {
projectVersion: process.env.VUE_APP_VERSION
}
- 從 env 獲取資料并在前端顯示為計算變數
注意:更改服務器配置需要重新啟動服務器或全新部署
步驟 1 - npm version minor/major/patch -> 在 packages.json 中自動更新
(Please follow semantic versioning & use commands individually.)步驟 2- 部署和版本自動重繪
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/382163.html
