问题是,我想在我现有的 Zend-Project 中使用任务 runner 和 bower 的所有好处。我不确定,我应该如何重组我的整个项目文件夹。我当前的结构如下所示:
配置 模块 小贩 上市 css js 库 jQuery 引导程序 控制器1 jsController1。 ETC 索引.php
从这个(Gulp 和 Bower - 创建正确的文件结构)我知道,我必须创建一个单独的文件夹来保存从 bower 安装的所有库,然后我必须使用 gulp 将它们复制到公共文件夹中。现在取决于环境(生产或开发),我想使用缩小的 css 和 js 脚本。那么我应该创建2个公共文件夹并根据环境更改zend的基本路径吗?或者执行此操作的最佳方法是什么?
此外,我想将浏览器同步集成到这个项目中(由于 livereload)。因此我想使用 gulp-connect 来启动 php-server。但是没有设置来自apache的环境变量。我该如何设置?根据文档,我必须添加 newArgs(因为我的选项是数组)“APPLICATION_ENV=development”。但是如果在逗号之后添加这个,我会得到错误:“无法打开输入文件:APPLICATION_ENV=development”
我当前的 gulfile:
var gulp = require('gulp'),
php = require('gulp-connect-php');
gulp.task('php', function() {
php.server({
configCallback: function _configCallback(type, collection) {
// If you wish to leave one of the argument types alone, simply return the passed in collection.
if (type === php.OPTIONS_SPAWN_OBJ) { // As the constant suggests, collection is an Object.
// Lets add a custom env var. Good for injecting AWS_RDS config variables.
collection.env = Object.assign({
APPLICATION_ENV: "development"
}, process.env);
return collection;
} else if (type === php.OPTIONS_PHP_CLI_ARR) { // As the constant suggests, collection is an Array.
let newArgs = [
'-e', // Generate extended information for debugger/profiler.
'-d', 'memory_limit=2G' // Define INI entry, Up memory limit to 2G.
,"APPLICATION_ENV=development"
];
// Ensure our argument switches appear before the rest.
return newArgs.concat(collection);
}
}
,
base: 'public',
port: 8010,
keepalive: true},
function _connected_callback() {
console.log("PHP Development Server Connected.");
});
});