使用gulp压缩angularjs文件,但获取[$injector:modulerr]
首先,我将每个angularjs文件导入html,效果很好。使用gulp压缩angularjs文件,但获取[$injector:modulerr],angularjs,gulp,Angularjs,Gulp,首先,我将每个angularjs文件导入html,效果很好。 但是,我想使用gulp将这些文件合并到一个文件中,以减少连接量。 我的文件夹结构是: --- public |- app.js |- controller.js |- directives.js |- factories.js |- filter.js |--- |--- events |- app.js |- controller.js .... 在my/public/app
但是,我想使用gulp将这些文件合并到一个文件中,以减少连接量。
我的文件夹结构是:
--- public
|- app.js
|- controller.js
|- directives.js
|- factories.js
|- filter.js
|---
|--- events
|- app.js
|- controller.js
....
在my/public/app.js中,我声明了路由器
$stateProvider
.state('events', {
url: "/",
templateUrl: "/public/partial/events",
controller: "events",
reloadOnSearch: false
}).....
我将每个页面声明为一个文件夹,例如events,并包含app.js和controller.js
我的事件/app.js是
angular.module('events', ['ui.router', 'ngRoute', 'events.controller'])
.config(['$routeProvider', '$locationProvider', '$stateProvider', '$urlRouterProvider',
function($routeProvider, $locationProvider, $stateProvider, $urlRouterProvider) {
}
]);
events/controller.js是
angular.module('events.controller', ['restangular', 'LocalStorageModule', 'oitozero.ngSweetAlert', 'Alertify', 'daterangepicker', 'ngTable', 'slick'])
.controller('events', ['$scope','$compile', ....,
function ($scope, $compile, ....) {
我的gulpfile.js只是简单地连接了所有angularjs文件,但出现了错误
gulp.src([
"/public/app-v8.js",
"/public/controller-v22.js",
"/public/directives-v6.js",
"/public/factories-v5.js",
"/public/filters-v1.js",
"/public/events/app-v0.js",
"/public/events/controller-v23.js",
.....
])
在你的肚子里,giv
var gulp = require('gulp');
var concat = require('gulp-concat');
var minify = require('gulp-minify');
var cleanCss = require('gulp-clean-css');
gulp.task('pack-js',function(){
return gulp.src(['app.js',
'common/controllers.js',
'common/services.js',
....
])
.pipe(concat('bundle.js'))
.pipe(minify())
.pipe(gulp.dest('myFolder/build/js/'))
});
'bundle.js' contain all your JS files. Similarly you can do for CSS files also.
At last you can run your task like this.
gulp.task('bundle-assets',['pack-js','pack-css']);
你的模板URL正确吗?我想是的。因为如果页面单独加载所有的角度文件,效果会很好。我就是不明白为什么我只加载了所有的文件就坏了(但是模板url应该指向一个html文件?在您的例子中,它指向一个directoryServer将处理它并呈现ejs文件。
res.render('public/partials/')+name)
这里有问题吗?我更新了我的gulpfile.js。我的角度项目结构与你的建议不同。我不知道如何修改它。我刚刚将我的'gulp.src'作为一个任务。这样,当我在终端中运行我的任务时,它将创建一个'bundle.js',其中所有的'.js都将在那里。创建'bundle'后,我将其缩小并放入一个dest fol德。