node_modules中的文件的本地更改(Angular 2)

时间:2017-10-12 07:38:17

标签: javascript angular module sass datepicker

我知道这可能是一个非常愚蠢的问题,但我无法在stackoverflow上找到与其他帖子的匹配...

所以:我可以修改外部模块的文件,只保存文件并做一些我的应用可以听的内容吗?

目前,我尝试在ng2-datepicker模块(在node_modules文件夹内)更改一些scss样式,但是如果我保存并且启动ng服务,则更改不会影响我的项目。

我知道这是一个简单的问题,但我不了解Angular2项目的背景架构。

提前致谢。

(ps我已经看到我可以分叉git,然后像npm install那样做。 非常有趣,但我也想知道如何在本地获得相同的结果)

1 个答案:

答案 0 :(得分:1)

如果您正在使用gulp文件,您可以告诉已更改的lib文件路径复制到构建文件夹,检查git repo for angular2-tour-of-heroes using gulp下方代码中的 gulp.task('copy-libs')

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']);