据我所知,你要求做的是将你的 js 文件合并到一个文件中,然后在你的 main.html 中你会得到这个
<script src="/pathLocation/allMyJSFiles.js"></script>
如果我的假设是正确的,那么答案将是使用以下两项之一
咕噜link或咕噜link
我使用 GULP。
您可以根据具体情况使用 gulp,这意味着从命令行调用 gulp 来执行 gulp 代码,或者使用 watch 在保存时自动执行。
除了让 gulp 工作并包含你需要做的事情所需的 gulp 文件之外,我只会提供一些我用来得到你答案的东西。
在我的 gulp 文件中我会有这样的东西
var gulp = require('gulp');
var concat = require('gulp-concat');
...maybe more.
然后我有我需要缩减为一个文件的文件路径。
var onlyProductionJS = [
'public/application.js',
'public/directives/**/*.js',
'public/controllers/**/*.js',
'public/factories/**/*.js',
'public/filters/**/*.js',
'public/services/**/*.js',
'public/routes.js'
];
我在下面的 gulp 任务中使用此信息
gulp.task('makeOneFileToRuleThemAll', function(){
return gulp.src(onlyProductionJS)
.pipe(concat('weHaveTheRing.js'))
.pipe(gulp.dest('public/'));
});
然后我通过调用在命令行中运行任务
gulp makeOneFileToRuleThemAll
此调用运行关联的 gulp 任务,该任务使用 'gulp-concat' 将所有文件集中到一个名为 'weHaveTheRing.js' 的新文件中并创建该文件目标 'public/'
中的文件
然后只需将该新文件包含到您的 main.html
<script src="/pathLocation/weHaveTheRing.js"></script>
至于将您的所有文件(包括您的供应商文件)包含在一个文件中,只需确保您的供应商代码首先运行即可。最好将它们分开,除非您有可靠的方法让您的供应商代码首先加载而不会出现任何问题。
更新
这是我的 gulp watch 任务。
gulp.task('startTheWatchingEye', function () {
gulp.watch(productionScripts, ['makeOneFileToRuleThemAll']);
});
然后我像这样启动我的服务器(你的可能不同)
npm start
// in a different terminal window I then type
gulp startTheWatchfuleye
注意:您可以使用任何您想要的电影或节目参考! :)
现在只需编写代码,每次您对指定文件进行更改时,GULP 都会运行您的任务。
如果你想说为你的测试运行器运行 Karma...
将以下内容添加到您的 gulp 文件中
var karma = require('karma').server;
gulp.task('karma', function(done){
karma.start({
configFile: __dirname + '/karma.conf.js'
}, done);
});
然后将这个任务karma添加到我上面所说的手表中......
gulp.task('startTheWatchingEye', function(){
gulp.watch(productionScripts, ['makeOneFileToRuleThemAll', 'karma']);
});
也
您的特定设置可能需要更多的 gulp 模块。通常,您会全局安装 Gulp 以及每个模块。然后在您的各种项目中使用它们。只需确保您的项目的 package.json 具有您在 dev 或其他方面需要的 gulp 模块。
关于使用 Gulp 还是 Grunt 有不同的文章。 Gulp 是在 Grunt 之后制作的,并添加了 Grunt 缺少的一些内容。我不知道 Grunt 是否不再缺少它们。不过我非常喜欢 Gulp,并且发现它对大量文档非常有用。
祝你好运!