未定義のプロパティ 'replace' が読み込めない [バグ修正] 。
2022-02-25 12:22:43
未定義のプロパティ 'replace' が読み込めない [バグフィックス] 。
本日より最新の
vue-cli
プロジェクト作成時に、カスタムコンフィギュレーションを選択したため、結果的にプロジェクトをビルドした後に起動した
vue add element-plus
は、プロジェクトを起動するとソースコードエラーを出したので、わからなくなりソースコードの解析を開始しました
api.afterInvoke(() => {
const { EOL } = require('os')
const fs = require('fs')
const contentMain = fs.readFileSync(api.resolve(api.entryFile), { encoding: 'utf-8' })
const lines = contentMain.split(/\r?\n/g)
const renderIndex = lines.findIndex(line => line.match(/createApp\(App\)(\.use\(\w*\))*\.mount\(['"]#app['"]\)/))
const renderContent = lines[renderIndex]
lines[renderIndex] = `const app = createApp(App)`
lines[renderIndex + 1] = `installElementPlus(app)`
lines[renderIndex + 2] = renderContent.replace('createApp\(App\)','app')
fs.writeFileSync(api.resolve(api.entryFile), lines.join(EOL), { encoding: 'utf-8' })
})
以下は、私が変更した後のソースコードです。
そして、これは
main.js
で
createApp(App).use(store).use(router).mount("#app");
vueの通常の書式構文では、自動的に
mount("#app")
私は確信している、別の構成で状況をテストしていない、唯一のこの波と非常に良好ではないビューと言うために、オンラインでこのエラーは見つけるのは簡単ではありませんので、理由を取得し、直接ソースコードを見てどのようなエラーを満たしています。
公式がシングルクォート好きなのか知らんが、ルール改正してください
そして最後に、修正コードの詳細です。
// . /node_modules/vue-cli-plugin-element-plus/generator/index.js:45:45 bug fix
// edit line 41
// error code
const renderIndex = lines.findIndex(line => line.match(/createApp\(App\)(\.use\(\w*\))*\.mount\('#app'\)/))
// fix code
const renderIndex = lines.findIndex(line => line.match(/createApp\(App\)(\.use\(\w*\))*\.mount\(['"]#app['"]\)/))
関連
-
TypeError: 未定義のプロパティ 'xxxx' を読み取ることができません。
-
ウィンドウやドキュメントがNuxtで定義されていない問題のまとめ
-
vueのインストール・イメージは、https://registry.npm.taobao.org/cnpmへのエラー・リクエストに失敗したと報告します。理由: getaddrinfo ENOTFOUND regis
-
vue リソースの読み込みに失敗しました:サーバーは404(Not Foun)のステータスで応答しました。
-
Uncaught (in promise)の解決策、考えられる原因
-
vueの@のエイリアスがジャンプを認識しない
-
フロントエンドのvueでファイルをダウンロードするいくつかの方法
-
this.setの正しい使い方
-
vue ssrがエラーを報告する ReferenceError: window is not defined
-
エラーです。[Vue warn]: レンダリングでエラーが発生しました。"TypeError: で見つかった「Cannot convert undefined or null to object」。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue.cli3はクロスドメイン問題を解決する XMLHttpRequestへのアクセスは「http://192.168.88.228/login/Login?phone=19939306484&pass」で。
-
赤色と警告を報告することによって、vueで使用するためのvを解決する
-
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] start: ノードビルド/dev-server.js`。
-
vue error TypeError: 未定義のプロパティ 'length' を読み取ることができません...
-
VUE ストリングスプライシング 各種スプライシング
-
vue reports Error in mounted hook: "SyntaxError: JSON の位置 0 に予期しないトークン u があります".
-
npm install npm ERR! cb() never called! npm ERR! これはnpm自体のエラーです。
-
Awesome Vue.js vue.jsの学習リソースリンク集 英語
-
vue-ueditorを使用したvueの問題(ディレクトリに相対するプリセット "es2015 "が見つかりませんでした)
-
vueによるダイアログの実装