Gulpfile + Vue + YII2
Устанавливаем в корне
vue create frontend
Устанавливаем Gulp
npm install --global gulp-cli
Устанавливаем необходимые модули
npm install gulp-concat-css gulp-concat gulp-uglify gulp-sass gulp-autoprefixer gulp-clean-css --save-dev
Создаем в корне Gulpfile.js
const gulp = require('gulp');
const concat = require('gulp-concat');
const uglify = require('gulp-uglify');
const sass = require('gulp-sass');
const autoprefixer = require('gulp-autoprefixer');
const cleanCSS = require('gulp-clean-css');
const concatCss = require('gulp-concat-css');
gulp.task('scripts', function() {
return gulp.src('frontend/dist/js/*.js')
.pipe(concat('app.js'))
.pipe(uglify())
.pipe(gulp.dest('web/js'));
});
// gulp.task('styles', function() {
// return gulp.src('frontend/dist/scss/*.scss')
// .pipe(sass().on('error', sass.logError))
// .pipe(autoprefixer())
// .pipe(cleanCSS())
// .pipe(gulp.dest('web/css'));
// });
gulp.task('css', function () {
return gulp.src('frontend/dist/**/*.css')
.pipe(concatCss("styles/bundle.css"))
.pipe(gulp.dest('web/css'));
});
gulp.task('default', gulp.series('scripts', 'css'));
package.json
{
"name": "your-project-name",
"version": "1.0.0",
"description": "Your project description",
"main": "Gulp.js",
"scripts": {
"build": "gulp"
},
"devDependencies": {
"gulp": "^4.0.2",
"gulp-autoprefixer": "^8.0.0",
"gulp-clean-css": "^4.3.0",
"gulp-concat": "^2.6.1",
"gulp-concat-css": "^3.1.0",
"gulp-sass": "^5.1.0",
"gulp-uglify": "^3.0.2"
}
}
index.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
Настройка почты:
'mailer' => [
'class' => \yii\symfonymailer\Mailer::class,
'viewPath' => '@app/mail',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'host',
'username' => 'username',
'password' => 'password',
'port' => 'port',
'encryption' => 'tls',
'dsn'=> 'smtp://username:password@host:port',
],
'useFileTransport' => false,
],
public function actionIndex()
{
Yii::$app->mailer->compose()
->setFrom('from@domain.com')
->setTo('to@domain.com')
->setSubject('Тема сообщения')
->setTextBody('Текст сообщения')
->setHtmlBody('<b>текст сообщения в формате HTML</b>')
->send();
return 'Hello, world!';
}
Комментариев нет:
Отправить комментарий