2017-10-12 5 views
0

Je sais que cela peut être une question stupide, mais je ne peux pas trouver des correspondances avec d'autres messages sur stackoverflow ...modifications locales dans un fichier dans node_modules (angulaire 2)

Alors: Puis-je modifier un fichier d'un module externe, enregistrez simplement le fichier et faites quelque chose que mon application peut écouter? Pour le moment, j'essaye de changer le style scss dans le module ng2-datepicker (dans le dossier node_modules), mais si je sauvegarde et que je lance le service, les changements n'affecteront pas mon projet.

Je sais que c'est un problème simple, mais je ne connais pas l'architecture d'arrière-plan d'un projet Angular2.

Merci d'avance.

(ps j'ai vu que je peux la fourche git et faire quelque chose comme NPM installer. très intéressant, mais je veux aussi savoir comment avoir le même résultat en local)

Répondre

1

Si vous êtes en utilisant le fichier engouffreur vous pouvez dire le chemin du fichier lib modifié à copier pour construire dossier vérifier gulp.task («copy-libs) dans le code ci-dessous git repo for angular2-tour-of-heroes using gulp

const gulp = require('gulp'); 
const del = require('del'); 
const typescript = require('gulp-typescript'); 
const tscConfig = require('./tsconfig.json'); 
const sourcemaps = require('gulp-sourcemaps'); 
const tslint = require('gulp-tslint'); 
const browserSync = require('browser-sync'); 
const reload = browserSync.reload; 
const tsconfig = require('tsconfig-glob'); 

// clean the contents of the distribution directory 
gulp.task('clean', function() { 
    return del('dist/**/*'); 
}); 

// copy static assets - i.e. non TypeScript compiled source 
gulp.task('copy:assets', ['clean'], function() { 
    return gulp.src(['app/**/*', 'index.html', 'styles.css', '!app/**/*.ts'], { base : './' }) 
    .pipe(gulp.dest('dist')) 
}); 

// copy dependencies 
gulp.task('copy:libs', ['clean'], function() { 
    return gulp.src([ 
     'node_modules/angular2/bundles/angular2-polyfills.js', 
     'node_modules/systemjs/dist/system.src.js', 
     'node_modules/rxjs/bundles/Rx.js', 
     'node_modules/angular2/bundles/angular2.dev.js', 
     'node_modules/angular2/bundles/router.dev.js', 
     'node_modules/node-uuid/uuid.js', 
     'node_modules/immutable/dist/immutable.js' 
     'yourpath/changedFileName.js' 
    ]) 
    .pipe(gulp.dest('dist/lib')) 
}); 

// linting 
gulp.task('tslint', function() { 
    return gulp.src('app/**/*.ts') 
    .pipe(tslint()) 
    .pipe(tslint.report('verbose')); 
}); 


// TypeScript compile 
gulp.task('compile', ['clean'], function() { 
    return gulp 
    .src(tscConfig.files) 
    .pipe(sourcemaps.init()) 
    .pipe(typescript(tscConfig.compilerOptions)) 
    .pipe(sourcemaps.write('.')) 
    .pipe(gulp.dest('dist/app')); 
}); 

// update the tsconfig files based on the glob pattern 
gulp.task('tsconfig-glob', function() { 
    return tsconfig({ 
    configPath: '.', 
    indent: 2 
    }); 
}); 

// Run browsersync for development 
gulp.task('serve', ['build'], function() { 
    browserSync({ 
    server: { 
     baseDir: 'dist' 
    } 
    }); 

    gulp.watch(['app/**/*', 'index.html', 'styles.css'], ['buildAndReload']); 
}); 

gulp.task('build', ['tslint', 'compile', 'copy:libs', 'copy:assets']); 
gulp.task('buildAndReload', ['build'], reload); 
gulp.task('default', ['build']); 
+0

Je ne ai jamais utilisé, mais gulp i'ts très intéressant. Cela semble un peu compliqué pour les changements locaux mais je vais l'installer! – Tommolo