vue-cli+webpackパッケージおよび異なる環境への実行
2899 ワード
ラベル:webpack,vue
1.需要説明
vue足場には、npm run devという2つのコマンドがあり、このコマンドはローカル開発用です.2番目のコマンドはnpm run buildで、このコマンドはパッケージ用です.現在2つの環境があり、1つは開発版環境、1つはオンライン環境、2つは異なるurlアドレスを使用している場合、2つのnpmコマンドを実行するたびにurlアドレスを手動で変更する必要があり、大きなリスクをもたらします.
2.問題解決構想構成4つのコマンド 開発版パッケージ実行npm run develop オンラインパッケージ運転npm run build ローカルテスト開発版npm run dev ローカルテストライン環境npm run online まずpackaを見ます.json構成 packa.jsonのscriptに2つのコマンド を追加 build/dev-server.jsには以下のコード が加わるパッケージパッケージjsonに を加える
build/prebuild.jsでprebuildを新規作成します.jsこの方法は、プログラムを実行するときに、手動でコードを注釈する必要がある場合があり、パッケージ化時にこの注釈をキャンセルしたり、別の問題に変換したりすることを解決することです.
1.需要説明
vue足場には、npm run devという2つのコマンドがあり、このコマンドはローカル開発用です.2番目のコマンドはnpm run buildで、このコマンドはパッケージ用です.現在2つの環境があり、1つは開発版環境、1つはオンライン環境、2つは異なるurlアドレスを使用している場合、2つのnpmコマンドを実行するたびにurlアドレスを手動で変更する必要があり、大きなリスクをもたらします.
2.問題解決
"scripts": {
"dev": "node build/dev-server.js",//
"start": "node build/dev-server.js",
"build": "node build/build.js",//
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
}
"online": "node build/dev-server.js",//
"develop": "node build/build.js",//
var replace = require("replace2");// replace2 , npm install --save relace2.js
const target = process.env.npm_lifecycle_event;//
if (target === "dev") {
//
replace({
regex: "http://www\.a\.com",//
replacement: "http://www\.b\.com",//
paths: ['./src/assets/scripts/fdModel.js'],//
recursive: false,
silent: false,
});
}else if(target === "online") {
replace({
rgex: "http://www\.a\.com",//
replacement: "http://www\.b\.com",//
paths: ['./src/assets/scripts/fdModel.js'],//
recursive: false,
silent: false,
});
}
"prebuild": "node build/prebuild.js",
build/prebuild.jsでprebuildを新規作成します.js
var replace = require("replace2");
const target = process.env.npm_lifecycle_event;
if (target === "predevelop") {
//
replace({
rgex: "http://www\.a\.com",//
replacement: "http://www\.b\.com",//
paths: ['./src/assets/scripts/fdModel.js'],//
recursive: false,
silent: false,
});
}else {
//
replace({
rgex: "http://www\.a\.com",//
replacement: "http://www\.b\.com",//
paths: ['./src/assets/scripts/fdModel.js'],//
recursive: false,
silent: false,
});
}