lin3s/lin3s-distribution

此包已废弃,不再维护。作者建议使用lin3s/distribution包。

LIN3S内部不同目的的发行库

安装次数: 5,903

依赖项: 1

推荐者: 0

安全: 0

星标: 0

关注者: 3

分支: 2

开放问题: 0

语言:JavaScript

v4.3.2 2018-01-31 08:48 UTC

README

LIN3S内部不同目的的发行库。

Latest Stable Version

从packagist(PHP)下载
Downloads from Packagist

从NPM(JS)下载
Downloads from NPM

为什么?

LIN3S中,我们与许多库和项目合作,通常所有这些都需要脚本来自动化某些流程。这个库集中了这类脚本和任务,提高了其可复用性。

安装

目前,此包包含PHPJavaScript代码,因此您可以从NPMComposer管理此库。

如果您的项目是PHP,请确保您的系统已安装Composer,并执行以下命令

$ composer require lin3s/distribution

否则,如果您的项目是JavaScript,请确保您的系统已安装Node,并执行以下命令

$ npm install lin3s-distribution --save-dev
#
# OR
#
$ yarn add lin3s-distribution --dev

使用

以下代码是使其与Webpack一起工作的基本配置。

'use strict';

const Webpack = require('lin3s-distribution').Webpack;

const options = {
  entry: {
    'app': './app/Resources/assets/js/entry-app.js',
  },
  input: {
    base: 'app',
    scss: 'app/Resources/scss',
    includedNodeModules: [
      'swiper'
    ]
  },
  output: {
    jsPath: './web',
    jsPublicPath: '/',
    jsFilename: '[name].js',
    jsFilenameProduction: '[name].[chunkhash].js',

    cssPath: '',
    cssPublicPath: '/',
    cssFilename: '[name].css',
    cssFilenameProduction: '[name].[contenthash].css'
  },
  postcss: {
    autoprefixer: {
      browsers: ['last 2 versions']
    }
  },
  manifest: '../../manifest.json'
};

module.exports = Webpack(options);

Symfony集成

首先,您需要在应用程序内核中安装此包。

// app/config/AppKernel.php

public function registerBundles()
{
    $bundles = [
        // ...

        new LIN3S\Distribution\Php\Symfony\Lin3sDistributionBundle(),
        // ...
    ];
}

一旦启用包,您就可以管理配置。以下为默认配置

# app/config/config.yml

lin3s_distribution:
    webpack:
        manifest_path: "%kernel.root_dir%/../manifest.json"
        public_js_path: "/js/"
        public_css_path: "/css/"

可选地,您可以执行以下操作来启用webpack默认配置

# app/config/config.yml

lin3s_distribution:
    webpack: ~

最后,使用以下Twig标签替换您的脚本和链接HTML标签。

{# app/Resources/views/base.html.twig #}

(...)

<head>
(...)

    {% webpack_entry_css 'app' %}
</head>

<body>
(...)

    {% webpack_entry_js 'app' %}
</body>

许可选项

License