vue-cli-plugin-mocker
Version:
@vue/cli plugin for mock data
47 lines (46 loc) • 1.58 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mockerOptions = void 0;
const register_1 = __importDefault(require("./mocker/register"));
const mocker_1 = __importDefault(require("./mocker"));
exports.mockerOptions = {
dir: 'mock',
demo: true,
mock: true,
};
exports.default = (api, projectOptions) => {
// api.registerCommand(
// 'mocker',
// {
// description: 'Writes a greeting to the console',
// usage: 'vue-cli-service greet [options]',
// options: { '--name': 'specifies a name for greeting' },
// },
// (args) => {
// if (args.name) {
// console.log(`👋 Hello, ${args.name}!`);
// } else {
// console.log(`👋 Hello!`);
// }
// },
// );
//
const { pluginOptions } = projectOptions || {};
const mocker = pluginOptions.mocker || {};
const mockerOpts = { ...exports.mockerOptions, ...mocker };
const { dir, mock } = mockerOpts;
api.chainWebpack((config) => {
const { MOCK } = process.env;
if (MOCK) {
/* 将 ES6 语法转 cjs */
register_1.default({ only: [dir] });
config.devServer.before((app) => {
const opts = typeof mock === 'boolean' ? {} : mock;
mocker_1.default(app, dir, opts);
});
}
});
};