【发布时间】:2015-12-29 16:11:50
【问题描述】:
当我使用gulp watch-dev 构建时,我的角度页面上有以下脚本(gulpfile.js 位于 sn-p 中问题的末尾)。
<!-- inject:js -->
<script src="shared/toolbar/toolbarDirective.js"></script>
<script src="shared/sidebar/sidebarDirective.js"></script>
<script src="shared/sidebar/sidbarController.js"></script>
<script src="components/home/homeService.js"></script>
<script src="components/blog/blogService.js"></script>
<script src="components/blog/blogController.js"></script>
<script src="app.modules.js"></script>
<script src="app.routes.js"></script>
<!-- endinject -->
我想在其他脚本之上获得app.modules.js。我该怎么做?
这是文件结构:
app
|
|--shared
| |--sidebar
| | |--sidebarController.js
| | |--sidebarDirective.js
| | |--sidebarTemplate.html
| |
| |--toolbar
| |--toolDirective.js
| |--toolbarTemplate.html
|
|--components
| |--home
| | |--sidebarDirective.js
| | |--homeView.html
| |
| |--blog
| |--sidebarDirective.js
| |--blogView.html
|
|--app.modules.js
|--app.routes.js
|--index.html
这是我认为失败的地方:
pipes.orderedAppScripts = function() {
return plugins.angularFilesort();
};
pipes.builtIndexDev = function() {
// sends verified vendor js in dev folder and catch a pipe ordered
var orderedVendorScripts = pipes.builtVendorScriptsDev()
.pipe(pipes.orderedVendorScripts());
// sends verified app js in dev folder and catch a pipe ordered
var orderedAppScripts = pipes.builtAppScriptsDev()
.pipe(pipes.orderedAppScripts());
var appStyles = pipes.builtStylesDev();
return pipes.validatedIndex()
.pipe(gulp.dest(paths.distDev)) // write first to get relative path for inject
.pipe(plugins.inject(orderedVendorScripts, {relative: true, name: 'bower'}))
.pipe(plugins.inject(orderedAppScripts, {relative: true}))
.pipe(plugins.inject(appStyles, {relative: true}))
.pipe(gulp.dest(paths.distDev));
};
buildIndexDev 在watch-dev 中被调用,为开发环境构建 index.html。
这是我在 sn-p 中的gulpfile.js:
<script src="https://gist.github.com/aemb/43ca3dbc7056157f952d.js"></script>
@HenryZou,这样做有一些副作用:
pipes.orderedAppScripts = function() {
return gulp.src([
'./**/*.modules.js',
'./**/*.js',
]).pipe(plugins.angularFilesort());
};
这里很奇怪:
<!-- inject:js -->
<script src="shared/toolbar/toolbarDirective.js"></script>
<script src="../distDev/gulpfile.js"></script>
<script src="../distDev/distDev/app.modules.js"></script>
<script src="../distDev/app.routes.js"></script>
<script src="shared/sidebar/sidebarDirective.js"></script>
<script src="../devServer/routes.js"></script>
<script src="shared/sidebar/sidebarController.js"></script>
<script src="../app/app.routes.js"></script>
<script src="../server.js"></script>
<script src="components/home/homeService.js"></script>
<script src="../gulpfile.js"></script>
<script src="components/blog/blogService.js"></script>
<script src="components/blog/blogController.js"></script>
<script src="app.routes.js"></script>
<script src="app.modules.js"></script>
<script src="../distDev/app/app.modules.js"></script>
<script src="../distDev/app.modules.js"></script>
<script src="../app/app.modules.js"></script>
<!-- endinject -->
文件夹中不存在所有以../ 开头的文件。其他存在,但它们仍然处于不良状态。
【问题讨论】:
-
你能确保只放代码的相关部分,而不是只转储整个东西
-
谢谢你!我没有意识到我在编辑时不小心剪掉了那部分。
-
使用 *.modules.js 代替 *.module.js
-
更诡异。
标签: javascript angularjs gulp development-environment gulp-inject