plugin.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.uniAppIOSPlugin = void 0;
  7. const fs_extra_1 = __importDefault(require("fs-extra"));
  8. const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
  9. const utils_1 = require("../utils");
  10. const css_1 = require("./css");
  11. function uniAppIOSPlugin() {
  12. const inputDir = process.env.UNI_INPUT_DIR;
  13. const outputDir = process.env.UNI_OUTPUT_DIR;
  14. // 开始编译时,清空输出目录
  15. function emptyOutDir() {
  16. if (fs_extra_1.default.existsSync(outputDir)) {
  17. (0, uni_cli_shared_1.emptyDir)(outputDir);
  18. }
  19. }
  20. emptyOutDir();
  21. return {
  22. name: 'uni:app-uts',
  23. apply: 'build',
  24. uni: (0, utils_1.createUniOptions)('ios'),
  25. config() {
  26. return {
  27. base: '/',
  28. build: {
  29. emptyOutDir: false,
  30. assetsInlineLimit: 0,
  31. rollupOptions: {
  32. input: (0, uni_cli_shared_1.resolveMainPathOnce)(inputDir),
  33. external: ['vue', '@vue/shared'],
  34. output: {
  35. name: 'AppService',
  36. banner: ``,
  37. format: 'iife',
  38. entryFileNames: uni_cli_shared_1.APP_SERVICE_FILENAME,
  39. globals: {
  40. vue: 'Vue',
  41. '@vue/shared': 'uni.VueShared',
  42. },
  43. },
  44. },
  45. },
  46. };
  47. },
  48. configResolved(config) {
  49. (0, utils_1.configResolved)(config);
  50. (0, uni_cli_shared_1.injectCssPlugin)(config);
  51. (0, uni_cli_shared_1.injectCssPostPlugin)(config, (0, css_1.uniAppCssPlugin)(config));
  52. },
  53. };
  54. }
  55. exports.uniAppIOSPlugin = uniAppIOSPlugin;