metro/docs/en/api.html
Website Deployment Script 0228528762 update website [ci skip]
2018-02-02 13:21:23 +00:00

28 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1"/><title>API · Metro</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta property="og:title" content="API · Metro"/><meta property="og:type" content="website"/><meta property="og:url" content="https://facebook.github.io/metro/index.html"/><meta property="og:description" content="## Methods"/><meta property="og:image" content="/metro/img/opengraph.png"/><link rel="shortcut icon" href="/metro/img/favicon/favicon.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="/metro/css/main.css"/><link rel="alternate" type="application/atom+xml" href="https://facebook.github.io/blog/atom.xml" title="Metro Blog ATOM Feed"/> <link rel="alternate" type="application/rss+xml" href="https://facebook.github.io/blog/feed.xml" title="Metro Blog RSS Feed"/><script async="" defer="" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="/metro/js/webplayer.js"></script><script type="text/javascript" src="https://snack.expo.io/embed.js"></script></head><body class="sideNavVisible"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/metro/"><img class="logo" src="/metro/img/metro.svg"/><h2 class="headerTitle">Metro</h2></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li><a href="/metro/docs/en/getting-started.html" target="_self">Docs</a></li><li><a href="/metro/docs/en/api.html" target="_self">API</a></li><li><a href="/metro/en/help.html" target="_self">Help</a></li><li><a href="/metro/blog" target="_self">Blog</a></li><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search"/></li><li><a href="https://github.com/facebook/metro" target="_self">GitHub</a></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i></i><span>API Reference</span></h2></div><div class="navGroups"><div class="navGroup navGroupActive"><h3>Introduction</h3><ul><li class="navListItem"><a class="navItem" href="/metro/docs/en/getting-started.html#content">Getting Started</a></li><li class="navListItem"><a class="navItem" href="/metro/docs/en/bundling.html#content">Bundling</a></li></ul></div><div class="navGroup navGroupActive"><h3>API Reference</h3><ul><li class="navListItem navListItemActive"><a class="navItem navItemActive" href="/metro/docs/en/api.html#content">API</a></li><li class="navListItem"><a class="navItem" href="/metro/docs/en/configuration.html#content">Configuring Metro</a></li><li class="navListItem"><a class="navItem" href="/metro/docs/en/cli.html#content">Metro CLI Options</a></li></ul></div><div class="navGroup navGroupActive"><h3>Guides</h3><ul><li class="navListItem"><a class="navItem" href="/metro/docs/en/troubleshooting.html#content">Troubleshooting</a></li></ul></div></div></section></div><script>
var toggler = document.getElementById('navToggler');
var nav = document.getElementById('docsNav');
toggler.onclick = function() {
nav.classList.toggle('docsSliderActive');
};
</script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/facebook/metro/edit/master/docs/API.md" target="_blank">Edit this Doc</a><h1>API</h1></header><article><div><h2><a class="anchor" name="methods"></a>Methods <a class="hash-link" href="#methods">#</a></h2><ul><li><a href="#loadmetroconfigurationfilepath-string-options" target=""><code>loadMetroConfiguration(filepath?: string, &lt;options&gt;)</code></a></li><li><a href="#findmetroconfigurationfilepath-string-options" target=""><code>findMetroConfiguration(filepath?: string, &lt;options&gt;)</code></a></li><li><a href="#async-runbuild-options" target=""><code>async runBuild(&lt;options&gt;)</code></a></li><li><a href="#async-runserver-options" target=""><code>async runServer(&lt;options&gt;)</code></a></li><li><a href="#createconnectmiddleware-options" target=""><code>createConnectMiddleware(&lt;options&gt;)</code></a></li></ul><hr/><h2><a class="anchor" name="quick-start"></a>Quick Start <a class="hash-link" href="#quick-start">#</a></h2><ul><li><p>Compile a file</p><pre class="prism language-javascript"><span class="token keyword">await</span> Metro<span class="token punctuation">.</span><span class="token function">runBuild</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
entry<span class="token punctuation">:</span> <span class="token string">&#x27;index.js&#x27;</span><span class="token punctuation">,</span>
out<span class="token punctuation">:</span> <span class="token string">&#x27;bundle.js&#x27;</span><span class="token punctuation">,</span>
config<span class="token punctuation">:</span> Metro<span class="token punctuation">.</span><span class="token function">loadMetroConfiguration</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></pre></li><li><p>Run a server &amp; watch the filesystem for changes</p><pre class="prism language-javascript"><span class="token keyword">await</span> Metro<span class="token punctuation">.</span><span class="token function">runServer</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
port<span class="token punctuation">:</span> <span class="token number">8080</span><span class="token punctuation">,</span>
config<span class="token punctuation">:</span> Metro<span class="token punctuation">.</span><span class="token function">loadMetroConfiguration</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></pre></li></ul><h2><a class="anchor" name="reference"></a>Reference <a class="hash-link" href="#reference">#</a></h2><p>All functions exposed below accept an additional <code>config</code> option. This object should be the <a href="/metro/docs/en/cli.html" target="">Metro configuration</a> exposed by your <code>metro.config.js</code> file - you can obtain it by simply requiring this file.</p><h3><a class="anchor" name="loadmetroconfigurationfilepath-string-options"></a><code>loadMetroConfiguration(filepath?: string, &lt;options&gt;)</code> <a class="hash-link" href="#loadmetroconfigurationfilepath-string-options">#</a></h3><p><strong>Basic options:</strong> <code>cwd</code>, <code>basename</code></p><p>Load the Metro configuration, either from <code>filepath</code> if specified, or by traversing the directory hierarchy from <code>cwd</code> to the root until it finds a file named <code>basename</code> (by default <code>metro.config.js</code>). The returned configuration will have been normalized and merged with Metro&#x27;s default values.</p><h3><a class="anchor" name="findmetroconfigurationfilepath-string-options"></a><code>findMetroConfiguration(filepath?: string, &lt;options&gt;)</code> <a class="hash-link" href="#findmetroconfigurationfilepath-string-options">#</a></h3><p><strong>Basic options:</strong> <code>cwd</code>, <code>basename</code></p><p>Same as above, but only locates the file.</p><h3><a class="anchor" name="async-runbuild-options"></a><code>async runBuild(&lt;options&gt;)</code> <a class="hash-link" href="#async-runbuild-options">#</a></h3><p><strong>Required options:</strong> <code>entry</code>, <code>out</code></p><p><strong>Basic options:</strong> <code>dev</code>, <code>optimize</code>, <code>platform</code>, <code>sourceMap</code>, <code>sourceMapUrl</code></p><p>Bundles <code>entry</code> for the given <code>platform</code>, and saves it to location <code>out</code>. If <code>sourceMap</code> is set, also generates a source map. The source map will be inlined, unless <code>sourceMapUrl</code> is also defined. In the latter case, a new file will be generated with the basename of the <code>sourceMapUrl</code> parameter</p><h3><a class="anchor" name="async-runserver-options"></a><code>async runServer(&lt;options&gt;)</code> <a class="hash-link" href="#async-runserver-options">#</a></h3><p><strong>Basic options:</strong> <code>host</code>, <code>port</code>, <code>secure</code>, <code>secureKey</code>, <code>secureCert</code>, <code>hmrEnabled</code></p><p>Starts a full Metro HTTP server. It will listen on the specified <code>host:port</code>, and can then be queried to retrieve bundles for various entry points. If the <code>secure</code> family of options are present, the server will be exposed over HTTPS. If <code>hmrEnabled</code> is set, the server will also expose a websocket server and inject the HMR client into the generated bundles.</p><h3><a class="anchor" name="createconnectmiddleware-options"></a><code>createConnectMiddleware(&lt;options&gt;)</code> <a class="hash-link" href="#createconnectmiddleware-options">#</a></h3><p><strong>Basic options:</strong> <code>port</code></p><p>Instead of creating the full server, creates a Connect middleware that answers to bundle requests. This middleware can then be plugged into your own servers. The <code>port</code> parameter is optional and only used for logging purposes.</p></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="bundling.html#content">← Previous</a><a class="docs-next button" href="configuration.html#content">Next →</a></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/metro/" class="nav-home"><img src="/metro/img/metro.svg" alt="Metro" width="66" height="58"/></a><div><h5>Docs</h5><a href="/metro/docs/en/getting-started.html">Getting Started</a><a href="/metro/docs/en/api.html">API Reference</a></div><div><h5>Community</h5><a href="https://stackoverflow.com/questions/tagged/metrojs" target="_blank">Stack Overflow</a><a href="https://twitter.com/MetroBundler" target="_blank">Twitter</a></div><div><h5>More</h5><a href="/metro/blog">Blog</a><a href="https://github.com/facebook/metro">GitHub</a><a class="github-button" href="https://github.com/facebook/metro" data-icon="octicon-star" data-count-href="/facebook/metro/stargazers" data-count-api="/repos/facebook/metro#stargazers_count" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><a href="https://code.facebook.com/projects/" target="_blank" class="fbOpenSource"><img src="/metro/img/oss_logo.png" alt="Facebook Open Source" width="170" height="45"/></a><section class="copyright">Copyright © 2018 Facebook Inc.</section></footer></div><script type="text/javascript" src="//cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-44373548-17', 'auto');
ga('send', 'pageview');
</script><script>
var search = docsearch({
apiKey: '0cf53e80b4f3b371219cdcaa6b62e08b',
indexName: 'metro',
inputSelector: '#search_input_react'
});
</script></body></html>