Пакет Aurelia не удаляет ссылки на старые версии пакетов

Я переключаю свое веб-приложение SPA с Durandal на Aurelia и сейчас смотрю на процесс комплектации.

Я использую gulp для комплектации приложения, и я следовал инструкциям на этой странице документации Aurelia и других ресурсах в Интернете. Это работает, но есть некоторые неясные вещи для меня.

Это мой gulpfile.js

var gulp = require('gulp'),
    bundler = require('aurelia-bundler'),
    uglify = require('gulp-uglify'),
    htmlmin = require('gulp-htmlmin'),    
    del = require('del');

var config = {    
    force: true,    
    baseURL: '.',                   // baseURL of the application
    configPath: './config.js',      // config.js file. Must be within `baseURL`
    bundles: {
        "Scripts/build/app-build": {           // bundle name/path. Must be within `baseURL`. Final path is: `baseURL/dist/app-build.js`.
            includes: [                
              '[Scripts/app/**/*.js]',
              'Scripts/app/**/*.html!text',
              'Content/*.css!text'
            ],            
            options: {
                inject: true,
                minify: true,
                depCache: true,
                rev: true                
            }
        },
        "Scripts/build/vendor-build": {
            includes: [
                'jspm_packages/npm/babel-runtime@5.8.38/helpers/class-call-check.js',
                'jspm_packages/npm/babel-runtime@5.8.38/helpers/create-class.js',
                'jspm_packages/npm/babel-runtime@5.8.38/core-js/object/define-property.js',
                'jspm_packages/npm/core-js@1.2.7/library/fn/object/define-property.js',
                'jspm_packages/npm/babel-runtime@5.8.38/core-js/object/define-properties.js',
                'jspm_packages/npm/core-js@1.2.7/library/fn/object/define-properties.js',
                'npm:aurelia-framework@1.0.7',                
                'npm:aurelia-loader-default@1.0.0',
                'npm:aurelia-logging-console@1.0.0',
                'npm:aurelia-templating-binding@1.0.0',
                'npm:aurelia-templating-resources@1.1.1',
                'npm:aurelia-templating-router@1.0.0',
                'npm:aurelia-knockout@1.0.2',
                'npm:aurelia-history-browser@1.0.0',
                'npm:aurelia-bootstrapper@1.0.0',
                'npm:aurelia-fetch-client@1.0.1',
                'npm:aurelia-router@1.0.6',
                'npm:aurelia-animator-css@1.0.1',
                'npm:babel-core@5.8.38',
                'npm:babel-runtime@5.8.38',
                'npm:core-js@1.2.7',
                'github:systemjs/plugin-text@0.0.9'
            ],
            options: {
                inject: true,
                minify: true,
                depCache: true,
                rev: true                
            }
        }
    }
};

gulp.task('build', ['minify'], function () {
    return bundler.bundle(config);
});

И это config.js

System.config({
  baseURL: "/",
  defaultJSExtensions: true,
  transpiler: "babel",
  babelOptions: {
    "optional": [
      "es7.decorators",
      "es7.classProperties",
      "runtime"
    ],
    "compact": true
  },
  paths: {
    "github:*": "jspm_packages/github/*",
    "npm:*": "jspm_packages/npm/*"
  },
  bundles: {

  },
map: //some mappings
}

Если я запускаю задачу gulp для комплектации, она работает, и я могу загрузить свое приложение, используя связанные файлы, но есть некоторые вещи, которые я не понимаю:

После создания связанных файлов файл config.js обновляется в свойстве "bundles:" с файлами, которые были созданы для пакета, и случайным номером версии (так как я установил "rev: true" в опциях)

bundles: [
    "Scripts/build/vendor-build-4c2789cace.js": [
        //list of files
    ]
]

Когда я снова запускаю задачу, возможно, после некоторых изменений, новый связанный файл был добавлен в файл config.js следующим образом:

bundles: [
    "Scripts/build/vendor-build-4c2789cace.js": [
        //list of files
    ],
    "Scripts/build/vendor-build-t67uj8e5f4.js": [
        //list of files
    ]
]

но, как вы видите, старый все еще там. Как мне сказать ему "очистить" свойство комплектов при создании нового комплекта?

0 ответов

Другие вопросы по тегам