Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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 缩小typescript到一个JS文件中,使用gulp保持sourcemaps工作_Javascript_Node.js_Typescript_Gulp - Fatal编程技术网

Javascript 缩小typescript到一个JS文件中,使用gulp保持sourcemaps工作

Javascript 缩小typescript到一个JS文件中,使用gulp保持sourcemaps工作,javascript,node.js,typescript,gulp,Javascript,Node.js,Typescript,Gulp,我已经爬遍了这张网 我考虑过使用--out,但是有一篇很大的文章说明了为什么这是个坏主意 上面说 --out实际上是一些构建工具的工作 但是,实际上并没有比这更进一步。 因此,到目前为止,我有以下过程: 把打字稿擦掉 编译类型脚本 构建源地图 将编译后的typescript导入另一个目录(build) 将所有bower deps添加到index.html文件 Serve index.html,指向appEntryPoint.js,即 只需一个JS文件,它调用 项目 传输文件中的第一行是: app

我已经爬遍了这张网

我考虑过使用--out,但是有一篇很大的文章说明了为什么这是个坏主意

上面说

--out实际上是一些构建工具的工作

但是,实际上并没有比这更进一步。 因此,到目前为止,我有以下过程:

  • 把打字稿擦掉
  • 编译类型脚本
  • 构建源地图
  • 将编译后的typescript导入另一个目录(build)
  • 将所有bower deps添加到index.html文件
  • Serve index.html,指向appEntryPoint.js,即 只需一个JS文件,它调用 项目
  • 传输文件中的第一行是: appEntryPoint.js:

    define(["require", "exports", "./example"], function (require, exports, example_1) {
    
    我得到:“未捕获的引用错误,定义未定义”。我试图添加requirejs,以便在这个文件之前加载它,但这也不起作用

    所以。我有什么选择

  • 我可以强制typescript要求只使用require并包含它从其他文件中需要的任何内容吗
  • 我是否可以将所有的typescript缩小到一个JS文件中,然后仍然让sourcemaps工作?如果是,如何 以下是我的
    gulpfile.js
    ,仅供参考:

    var gulp = require('gulp');
    var tsc = require('gulp-typescript');
    var tslint = require('gulp-tslint');
    var config = require('./gulpfile.config')();
    var sourcemaps = require('gulp-sourcemaps');
    var browsersync = require('browser-sync');
    var superstatic = require('superstatic');
    var usemin = require("gulp-usemin");
    var uglify = require("gulp-uglify");
    var reload      = browsersync.reload;
    var wiredep = require("wiredep").stream;
    
    gulp.task('ts-lint', function(){
      return gulp.src(config.allTs)
        .pipe(tslint())
        .pipe(tslint.report('prose', {
          emitError : false
        }));
    });
    
    gulp.task('compile-ts', function(){
      var sourceTsFiles = [
        config.allTs,
        config.typings
      ];
    
      var tsResult = gulp
        .src(sourceTsFiles)
        .pipe(sourcemaps.init())
        .pipe(tsc({
            module: "amd",
            target: "ES5",
            declarationFiles: false,
            emitError: false,
            emitDecoratorMetadata: true,
          outDir : config.tsOutputPath
        }));
    
      return tsResult.js
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest(config.tsOutputPath))
        .pipe(reload({stream:true}));
    });
    
    gulp.task('serve', ['ts-lint', 'compile-ts', 'bower'], function() {
        gulp.watch([config.allTs], ['ts-lint', 'compile-ts']);
    
        browsersync({
            port: 3000,
            files: ['index.html', '**/*.js'],
            injectChanges: true,
            logFileChanges: false,
            logLevel: 'silent',
            notify: true,
            reloadDelay: 0,
            server: {
                baseDir: config.browsersyncpath,
                middleware: superstatic({ debug: false})
            }
        });
    });
    
    
    
    gulp.task("bower", function () {
        gulp.src("index.html")
            .pipe(wiredep())
            .pipe(gulp.dest("build"));
    });
    
    // gulp.task("minify", function () {
    //  return gulp.src("build/index.html")
    //      .pipe(usemin({
    //          assetsDir: config.tsOutputPath,
    //          js: [uglify(), "concat"]
    //  }))
    //   .pipe(gulp.dest(config.tsOutputPath));
    // });
    
    gulp.task('default', ['serve']);
    

    只需使用将所有
    *.js
    文件合并为一个文件。

    在这种情况下,浏览器将如何解释源地图?源地图由