我想从结果包中排除导入的库。 假设我们有下一个代码:
import * as angular from 'angular';
const app = angular.module('app',[]);
我们有这个构建任务。
function buildTs(compileOptions) {
browserify(compileOptions)
.plugin(tsify, tsconfig.compileOptions)
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest(path.dest.js));
}
构建完成后,Angular lib将包含在bundle.js中。 我可以避免这种情况吗?
我的tsConfig:
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": true,
"sourceMap": true,
"types": [
"angular",
"angular-cookies",
"angular-ui-bootstrap",
"angular-ui-router",
"jasmine",
"angular-mocks"
]
},
"include": [
"app"
],
"exclude": [
"node_modules"
]
}
从类型中删除类型没有帮助:)
答案 0 :(得分:2)
这将使browserify忽略angularjs,然后可以从index.html添加它。
var browserify = require("browserify")
browserify()
.ignore('angular')
每次都包含多个文件而不添加
.ignore(name)
的任何选项?像这样的数组或smth?
var tsProject = ts.createProject('tsconfig.json');
gulp.task('scripts', function() {
var tsResult = gulp.src("lib/**/*.ts")
// or
tsProject.src()
.pipe(tsProject());
return tsResult.js.pipe(gulp.dest('release'));
});
因此,这可能是构建Typescript文件的更简洁方法。在src中,您可以提供自己的正则表达式src文件列表。