YII2

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!';

}

Комментариев нет:

Отправить комментарий

Печать определенного фрагмента

 <!DOCTYPE html> <html> <head>     <title>Печать определенного фрагмента</title>     <style>         /* ...