Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular-在index.html中合并所有JS文件的最佳实践_Javascript_Angularjs - Fatal编程技术网

Javascript Angular-在index.html中合并所有JS文件的最佳实践

Javascript Angular-在index.html中合并所有JS文件的最佳实践,javascript,angularjs,Javascript,Angularjs,我有一个Angular应用程序,其中我的index.html列出了我的所有服务和控制器JS文件 e、 g.许多这样的行 为了投入生产,我想简化这一点,只需引用一个js文件(这是一个简化版本) 人们发现了哪些有用的工具 我猜是大口喝 如有任何建议,将不胜感激 谢谢。在gulp中,您可以按如下方式操作: 这是我在本地设置的一个gulpfile示例。您可以使用脚本任务或useref任务。Useref允许您指定应该缩小哪些文件 // Include gulp var gulp = require('gu

我有一个Angular应用程序,其中我的index.html列出了我的所有服务和控制器JS文件

e、 g.许多这样的行

为了投入生产,我想简化这一点,只需引用一个js文件(这是一个简化版本)

人们发现了哪些有用的工具

我猜是大口喝

如有任何建议,将不胜感激


谢谢。

在gulp中,您可以按如下方式操作:

这是我在本地设置的一个gulpfile示例。您可以使用脚本任务或useref任务。Useref允许您指定应该缩小哪些文件

// Include gulp
var gulp = require('gulp');

// Include Our Plugins
var jshint = require('gulp-jshint');
var sass = require('gulp-sass');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var gulpIf = require('gulp-if');
var rename = require('gulp-rename');
var babel = require('gulp-babel');
var webserver = require('gulp-webserver');
var connect = require('gulp-connect');
var gulpIgnore = require('gulp-ignore');
var useref = require('gulp-useref');
var minifyCSS = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var rename = require('gulp-rename');
var cssnano = require('gulp-cssnano');
var imagemin = require('gulp-imagemin');

var outputDir = 'dist';
var jsLintIgnore = 'app/js/bootstrap-3.3.6/**/*.js';

// run a local webserver from app directory
gulp.task('webserver', function() {
  gulp.src('app')
    .pipe(webserver({
      livereload: true,
      fallback: './src/index.html',
      //port: 8000, // Default is 8000
      //directoryListing: true,
      open: true
    }));
});

// Lint Task - checks any JavaScript file in our js/ directory and makes sure there are no errors in our code.
gulp.task('lint', function() {
    return gulp.src('app/js/**/*.js')
        .pipe(jshint())
        //.pipe(gulpIgnore.include(jsLintIgnore))
        .pipe(jshint.reporter('default'));
});


gulp.task('useref', function(){
  return gulp.src('app/*.html')
    .pipe(useref())
    // Minifies only if it's a JavaScript file
    .pipe(gulpIf('js/**/*.js', uglify()))
    .pipe(gulpIf('css/**/*.css', cssnano()))
    .pipe(gulp.dest('dist'))
});

// Compile Our Sass - compiles any of our Sass files in our scss/ directory into CSS and saves the compiled CSS file in our dist/css directory.
gulp.task('sass', function() {
    return gulp.src('app/scss/**/*.scss')
        .pipe(sass())
        .pipe(gulp.dest('app/css'));
});

gulp.task('css', function(){
    gulp.src('app/css/**/*.css')
        .pipe(minifyCSS())
        .pipe(rename('style.min.css'))
        .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9'))
        .pipe(gulp.dest('dist/css'))
});

gulp.task('images', function(){
  return gulp.src('app/images/**/*.+(png|jpg|gif|svg)')
  .pipe(imagemin())
  .pipe(gulp.dest('dist/images'))
});

// Concatenate & Minify JS - concatenates all JavaScript files in our js/ directory and saves the ouput to our dist/js directory. Then gulp takes 
//   that concatenated file, minifies it, renames it and saves it to the dist/js directory alongside the concatenated file.
gulp.task('scripts', function() {
    return gulp.src('app/js/**/*.js')
        .pipe(concat('all.js'))
        .pipe(gulp.dest('dist'))
        .pipe(rename('all.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});

// Watch Files For Changes - run tasks as we make changes to our files.
gulp.task('watch', function() {
    gulp.watch('app/js/**/*.js', ['lint', 'scripts']);
    gulp.watch('app/scss/**/*.scss', ['sass']);
});

// Default Task - used as a grouped reference to our other tasks. This will be the task that is ran upon entering gulp into the command line without any additional parameters.
gulp.task('default', ['webserver', 'lint', 'sass', 'useref','images', 'watch']);
在html中,您可以使用以下内容包装想要缩小的js文件:

<!--build:js js/main.min.js -->

<script src="/js/script1.js"></script> 
<script src="/js/script2.js"></script> 
<script src="/js/script3.js"></script> 

<!-- endbuild -->
下面是一个关于gulp入门的YouTube系列。


说到这里,我更喜欢网页包。它有一个更陡峭的学习曲线,所以咕噜咕噜可能是一个很好的开始。

在咕噜咕噜中,您可以按如下方式进行:

这是我在本地设置的一个gulpfile示例。您可以使用脚本任务或useref任务。Useref允许您指定应该缩小哪些文件

// Include gulp
var gulp = require('gulp');

// Include Our Plugins
var jshint = require('gulp-jshint');
var sass = require('gulp-sass');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var gulpIf = require('gulp-if');
var rename = require('gulp-rename');
var babel = require('gulp-babel');
var webserver = require('gulp-webserver');
var connect = require('gulp-connect');
var gulpIgnore = require('gulp-ignore');
var useref = require('gulp-useref');
var minifyCSS = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var rename = require('gulp-rename');
var cssnano = require('gulp-cssnano');
var imagemin = require('gulp-imagemin');

var outputDir = 'dist';
var jsLintIgnore = 'app/js/bootstrap-3.3.6/**/*.js';

// run a local webserver from app directory
gulp.task('webserver', function() {
  gulp.src('app')
    .pipe(webserver({
      livereload: true,
      fallback: './src/index.html',
      //port: 8000, // Default is 8000
      //directoryListing: true,
      open: true
    }));
});

// Lint Task - checks any JavaScript file in our js/ directory and makes sure there are no errors in our code.
gulp.task('lint', function() {
    return gulp.src('app/js/**/*.js')
        .pipe(jshint())
        //.pipe(gulpIgnore.include(jsLintIgnore))
        .pipe(jshint.reporter('default'));
});


gulp.task('useref', function(){
  return gulp.src('app/*.html')
    .pipe(useref())
    // Minifies only if it's a JavaScript file
    .pipe(gulpIf('js/**/*.js', uglify()))
    .pipe(gulpIf('css/**/*.css', cssnano()))
    .pipe(gulp.dest('dist'))
});

// Compile Our Sass - compiles any of our Sass files in our scss/ directory into CSS and saves the compiled CSS file in our dist/css directory.
gulp.task('sass', function() {
    return gulp.src('app/scss/**/*.scss')
        .pipe(sass())
        .pipe(gulp.dest('app/css'));
});

gulp.task('css', function(){
    gulp.src('app/css/**/*.css')
        .pipe(minifyCSS())
        .pipe(rename('style.min.css'))
        .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9'))
        .pipe(gulp.dest('dist/css'))
});

gulp.task('images', function(){
  return gulp.src('app/images/**/*.+(png|jpg|gif|svg)')
  .pipe(imagemin())
  .pipe(gulp.dest('dist/images'))
});

// Concatenate & Minify JS - concatenates all JavaScript files in our js/ directory and saves the ouput to our dist/js directory. Then gulp takes 
//   that concatenated file, minifies it, renames it and saves it to the dist/js directory alongside the concatenated file.
gulp.task('scripts', function() {
    return gulp.src('app/js/**/*.js')
        .pipe(concat('all.js'))
        .pipe(gulp.dest('dist'))
        .pipe(rename('all.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});

// Watch Files For Changes - run tasks as we make changes to our files.
gulp.task('watch', function() {
    gulp.watch('app/js/**/*.js', ['lint', 'scripts']);
    gulp.watch('app/scss/**/*.scss', ['sass']);
});

// Default Task - used as a grouped reference to our other tasks. This will be the task that is ran upon entering gulp into the command line without any additional parameters.
gulp.task('default', ['webserver', 'lint', 'sass', 'useref','images', 'watch']);
在html中,您可以使用以下内容包装想要缩小的js文件:

<!--build:js js/main.min.js -->

<script src="/js/script1.js"></script> 
<script src="/js/script2.js"></script> 
<script src="/js/script3.js"></script> 

<!-- endbuild -->
下面是一个关于gulp入门的YouTube系列。


说到这里,我更喜欢网页包。它的学习曲线有点陡峭,所以大口大口可能是一个很好的开始。

你可以使用大口大口或咕噜。这是具有内置缩小和优化功能的TaskRunner gulp、grunt和webpack都是流行的javascript构建工具。您可以使用gulp或grunt。这是具有内置缩小和优化功能的TaskRunner Gulp、grunt和webpack都是流行的javascript构建工具。还可以查看它从html文件读取所有源代码并解析它们。哇-完成!感谢您的支持,非常感谢@DanWeber-您有使用
gulp useref
ng annotate
的经验,因为我没有遇到依赖性错误。你犯了什么错误?你试过安装这些依赖项吗?它是围绕DI的(在uglification期间,它不知道$http等意味着什么),所以我使用了插件gulp ng Annotation,一切都很好。还可以查看它从你的html文件读取所有源代码并解析它们。哇-完成了!感谢您的支持,非常感谢@DanWeber-您有使用
gulp useref
ng annotate
的经验,因为我没有遇到依赖性错误。你犯了什么错误?你试过安装这些依赖项吗?它是围绕DI的(在uglification期间,它不知道$http等意味着什么),所以我使用了插件gulp ng Annotation,一切正常。