Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Member Functions
Config Class Reference

Public Member Functions

 __construct (\Magento\Framework\RequireJs\Config\File\Collector\Aggregated $fileSource, \Magento\Framework\View\DesignInterface $design, ReadFactory $readFactory, \Magento\Framework\View\Asset\Repository $assetRepo, \Magento\Framework\Code\Minifier\AdapterInterface $minifyAdapter, Minification $minification, RepositoryMap $repositoryMap)
 
 getConfigFileRelativePath ()
 
 getMixinsFileRelativePath ()
 
 getRequireJsFileRelativePath ()
 
 getBaseConfig ()
 
 getMinResolverRelativePath ()
 
 getUrlResolverFileRelativePath ()
 
 getMapFileRelativePath ()
 
 getMinResolverCode ()
 

Data Fields

const DIR_NAME = '_requirejs'
 
const CONFIG_FILE_NAME = 'requirejs-config.js'
 
const MIXINS_FILE_NAME = 'mage/requirejs/mixins.js'
 
const REQUIRE_JS_FILE_NAME = 'requirejs/require.js'
 
const STATIC_FILE_NAME = 'mage/requirejs/static.js'
 
const MIN_RESOLVER_FILENAME = 'requirejs-min-resolver.js'
 
const MAP_FILE_NAME = 'requirejs-map.js'
 
const URL_RESOLVER_FILE_NAME = 'mage/requirejs/baseUrlResolver.js'
 
const BUNDLE_JS_DIR = 'js/bundle'
 
const FULL_CONFIG_TEMPLATE
 
 config
 
const PARTIAL_CONFIG_TEMPLATE
 

Protected Member Functions

 getConfigFileName ()
 

Detailed Description

Provider of RequireJs config information

Definition at line 16 of file Config.php.

Constructor & Destructor Documentation

◆ __construct()

Parameters
\Magento\Framework\RequireJs\Config\File\Collector\Aggregated$fileSource
\Magento\Framework\View\DesignInterface$design
ReadFactory$readFactory
\Magento\Framework\View\Asset\Repository$assetRepo
\Magento\Framework\Code\Minifier\AdapterInterface$minifyAdapter
Minification$minification
RepositoryMap$repositoryMap

Definition at line 131 of file Config.php.

139  {
140  $this->fileSource = $fileSource;
141  $this->design = $design;
142  $this->readFactory = $readFactory;
143  $this->staticContext = $assetRepo->getStaticViewFileContext();
144  $this->minifyAdapter = $minifyAdapter;
145  $this->minification = $minification;
146  $this->repositoryMap = $repositoryMap;
147  }

Member Function Documentation

◆ getBaseConfig()

getBaseConfig ( )

Get base RequireJs configuration necessary for working with Magento application

Returns
string

Definition at line 227 of file Config.php.

228  {
229  $config = [
230  'baseUrl' => $this->staticContext->getBaseUrl() . $this->staticContext->getPath(),
231  ];
232  $config = json_encode($config, JSON_UNESCAPED_SLASHES);
233  $result = "require.config($config);";
234  return $result;
235  }
$config
Definition: fraud_order.php:17

◆ getConfigFileName()

getConfigFileName ( )
protected
Returns
string

Definition at line 283 of file Config.php.

284  {
285  return $this->minification->addMinifiedSign(self::CONFIG_FILE_NAME);
286  }

◆ getConfigFileRelativePath()

getConfigFileRelativePath ( )

Get path to config file relative to directory, where all config files with different context are located

Returns
string

Definition at line 187 of file Config.php.

188  {
189  return $this->staticContext->getConfigPath() . '/' . $this->getConfigFileName();
190  }

◆ getMapFileRelativePath()

getMapFileRelativePath ( )

Get path to map file

Returns
string

Definition at line 275 of file Config.php.

276  {
277  return $this->minification->addMinifiedSign($this->staticContext->getPath() . '/' . self::MAP_FILE_NAME);
278  }

◆ getMinResolverCode()

getMinResolverCode ( )
Returns
string

Definition at line 291 of file Config.php.

292  {
293  $excludes = [];
294  foreach ($this->minification->getExcludes('js') as $expression) {
295  $excludes[] = '!url.match(/' . str_replace('/', '\/', $expression) . '/)';
296  }
297  $excludesCode = empty($excludes) ? 'true' : implode('&&', $excludes);
298 
299  $result = <<<code
300  var ctx = require.s.contexts._,
301  origNameToUrl = ctx.nameToUrl;
302 
303  ctx.nameToUrl = function() {
304  var url = origNameToUrl.apply(ctx, arguments);
305  if ({$excludesCode}) {
306  url = url.replace(/(\.min)?\.js$/, '.min.js');
307  }
308  return url;
309  };
310 
311 code;
312 
313  if ($this->minification->isEnabled('js')) {
314  $result = $this->minifyAdapter->minify($result);
315  }
316  return $result;
317  }

◆ getMinResolverRelativePath()

getMinResolverRelativePath ( )

Get path to '.min' files resolver relative to config files directory

Returns
string

Definition at line 242 of file Config.php.

243  {
244  return
245  $this->staticContext->getConfigPath() .
246  '/' .
247  $this->minification->addMinifiedSign(self::MIN_RESOLVER_FILENAME);
248  }

◆ getMixinsFileRelativePath()

getMixinsFileRelativePath ( )

Get path to config file relative to directory, where all config files with different context are located

Returns
string

Definition at line 197 of file Config.php.

198  {
199  $map = $this->getRepositoryFilesMap(Config::MIXINS_FILE_NAME, [
200  'area' => $this->staticContext->getAreaCode(),
201  'theme' => $this->staticContext->getThemePath(),
202  'locale' => $this->staticContext->getLocale(),
203  ]);
204  if ($map) {
205  $relativePath = implode('/', $map) . '/' . Config::MIXINS_FILE_NAME;
206  } else {
207  $relativePath = $this->staticContext->getPath() . '/' . self::MIXINS_FILE_NAME;
208  }
209  return $relativePath;
210  }
$relativePath
Definition: get.php:35

◆ getRequireJsFileRelativePath()

getRequireJsFileRelativePath ( )

Get path to config file relative to directory, where all config files with different context are located

Returns
string

Definition at line 217 of file Config.php.

218  {
219  return $this->staticContext->getConfigPath() . '/' . self::REQUIRE_JS_FILE_NAME;
220  }

◆ getUrlResolverFileRelativePath()

getUrlResolverFileRelativePath ( )

Get path to URL map resover file

Returns
string

Definition at line 255 of file Config.php.

256  {
257  $map = $this->getRepositoryFilesMap(Config::URL_RESOLVER_FILE_NAME, [
258  'area' => $this->staticContext->getAreaCode(),
259  'theme' => $this->staticContext->getThemePath(),
260  'locale' => $this->staticContext->getLocale(),
261  ]);
262  if ($map) {
263  $relativePath = implode('/', $map) . '/' . Config::URL_RESOLVER_FILE_NAME;
264  } else {
265  $relativePath = $this->staticContext->getPath() . '/' . self::URL_RESOLVER_FILE_NAME;
266  }
267  return $relativePath;
268  }
$relativePath
Definition: get.php:35

Field Documentation

◆ BUNDLE_JS_DIR

const BUNDLE_JS_DIR = 'js/bundle'

File name of StaticJs

Definition at line 63 of file Config.php.

◆ config

config

Definition at line 74 of file Config.php.

◆ CONFIG_FILE_NAME

const CONFIG_FILE_NAME = 'requirejs-config.js'

File name of RequireJs config

Definition at line 28 of file Config.php.

◆ DIR_NAME

const DIR_NAME = '_requirejs'

Name of sub-directory where generated RequireJs config is placed

Deprecated:
since 2.2.0 RequireJS Configuration file is moved into package directory

Definition at line 23 of file Config.php.

◆ FULL_CONFIG_TEMPLATE

const FULL_CONFIG_TEMPLATE
Initial value:
= <<<config
(function(require){
%function%
%usages%
})(require)

Template for combined RequireJs config file

Definition at line 68 of file Config.php.

◆ MAP_FILE_NAME

const MAP_FILE_NAME = 'requirejs-map.js'

File name of RequireJs mixins

Definition at line 53 of file Config.php.

◆ MIN_RESOLVER_FILENAME

const MIN_RESOLVER_FILENAME = 'requirejs-min-resolver.js'

File name of minified files resolver

Definition at line 48 of file Config.php.

◆ MIXINS_FILE_NAME

const MIXINS_FILE_NAME = 'mage/requirejs/mixins.js'

File name of RequireJs mixins

Definition at line 33 of file Config.php.

◆ PARTIAL_CONFIG_TEMPLATE

const PARTIAL_CONFIG_TEMPLATE
Initial value:
= <<<config
(function() {
require.config(config);
})()

Template for wrapped partial config

Definition at line 79 of file Config.php.

◆ REQUIRE_JS_FILE_NAME

const REQUIRE_JS_FILE_NAME = 'requirejs/require.js'

File name of RequireJs

Definition at line 38 of file Config.php.

◆ STATIC_FILE_NAME

const STATIC_FILE_NAME = 'mage/requirejs/static.js'

File name of StaticJs

Definition at line 43 of file Config.php.

◆ URL_RESOLVER_FILE_NAME

const URL_RESOLVER_FILE_NAME = 'mage/requirejs/baseUrlResolver.js'

File name of BaseUrlInterceptorJs

Definition at line 58 of file Config.php.


The documentation for this class was generated from the following file: