我正在使用gulp和requirejs-optimize
我的 init.js
loginForm.ShowDialog()
我的构建配置文件如下所示
//some db details hidden
$x = mysqli_fetch_array($sqll);
$vcode = $x['vcode'];
$name = $x['name'];
require_once('class.phpmailer.php');
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "sidhurockz55@gmail.com";
$mail->Password = "Password";
$mail->From = "sidhurockz55@gmail.com";
$mail->Subject = "Verify Email";
$mail->AddAddress($email,$name);
问题:运行时;
(function(require) {
"use strict";
//Constants
require.config({
paths: {
"angular": "app/libs/angular/angular.min",
"domready": "app/libs/domReady/domReady",
"angular-ui-router": "app/libs/angular-ui-router/release/angular-ui-router.min",
"angular-bootstrap": "app/libs/angular-bootstrap/ui-bootstrap.min",
"App": "app/app",
"angular-animate": "app/libs/angular-animate/angular-animate.min",
"ui-bootstrap-tpls": "app/libs/angular-bootstrap/ui-bootstrap-tpls.min",
"enums": "app/enums"
},
waitSecond: 0,
shim: {
"angular": {
exports: "angular",
deps: []
},
"angular-ui-router": {
deps: ["angular"]
},
"angular-bootstrap": {
deps: ["angular"]
},
"ui-bootstrap-tpls": {
deps: ["angular-bootstrap"]
},
"domready": {
deps: []
},
"App": {
deps: ["angular"]
},
"angular-animate": {
deps: ["angular"],
exports: "angular"
}
}
});
//This module defines all the Global constants for the app
define("CONST", [], {
templatesPath: "views/",
URL: "https://saltjs-nirus.c9.io/service"
});
define(["require", "domready"], function(require, domready) {
domready(function() {
require(["angular", "App", "app/router"], function(angular, app) {
angular.bootstrap(document, ["salt"]);
});
});
});
})(window.requirejs);
我遇到错误
ENOENT,没有这样的文件或目录 '/home/ubuntu/workspace/ClientApp/domReady.js'
这里requirejs优化器没有采用build-config文件中指定的var gulp = require("gulp");
var requirejsOptimize = require('gulp-requirejs-optimize');
gulp.task('scripts', function() {
return gulp.src(["./../ClientApp/init.js", "./../ClientApp/app/libs/domReady/domReady.js"])
.pipe(requirejsOptimize(function(file) {
return {
baseUrl: "./../ClientApp/",
useStrict: true,
optimize: "uglify",
paths: {
"angular": "app/libs/angular/angular.min",
"domready": "app/libs/domReady/domReady",
"angular-ui-router": "app/libs/angular-ui-router/release/angular-ui-router.min",
"angular-bootstrap": "app/libs/angular-bootstrap/ui-bootstrap.min",
"App": "app/app",
"angular-animate": "app/libs/angular-animate/angular-animate.min",
"ui-bootstrap-tpls": "app/libs/angular-bootstrap/ui-bootstrap-tpls.min",
"enums": "app/enums"
},
shim: {
"angular": {
exports: "angular",
deps: []
},
"angular-ui-router": {
deps: ["angular"]
},
"angular-bootstrap": {
deps: ["angular"]
},
"ui-bootstrap-tpls": {
deps: ["angular-bootstrap"]
},
"domready": {
deps: []
},
"App": {
deps: ["angular"]
},
"angular-animate": {
deps: ["angular"],
exports: "angular"
}
}
}
}))
.pipe(gulp.dest('./../build/final.js'));
});
gulp.task("default", ['scripts'])
选项,而是搜索抛出错误的物理路径。如何强制优化器查找r.js构建配置中指定的gulp
选项,并从那里获取文件以进行优化。
答案 0 :(得分:1)
最后我想出来让它发挥作用:
我从gulp-optimizer切换到直接的Node r.js,因为Gulp dev建议直接使用优化器,因为r.js与gulp不兼容。
“gulp-module-requirejs”:“直接使用require.js模块”,
以下是我的配置文件:
({
mainConfigFile: "./../ClientApp/app/init.js",
name: "init",
baseUrl: "./../ClientApp/app/",
insertRequire:["init"],
findNestedDependencies: true,
out: "./../ClientApp/build/final.js",
wrap: true,
optimize: "uglify",
uglify: {
toplevel: true,
ascii_only: true,
beautify: false,
max_line_length: 1000,
defines: {
DEBUG: ['name', 'false']
},
no_mangle: true
}
});
我正在使用uglify进行require.js提供的缩小
<强>解释强>
paths
,shims
,deps
等文件的位置.Prose要求足够智能从这个声明中选择配置进行处理(他们使用正则表达式模式来过滤这部分,所以要小心。请参考他们的DOC)name
添加到您定义的呼叫中。休息是自我解释或参考documentation
这样救了我。
要与gulp构建系统一起使用,请参阅gulp shell
模块,通过此模块,您可以对构建系统进行连接,以自动完成整个过程。
请参阅此answer以了解如何实现此目标。
希望这个答案可以帮助像我一样的人!