-
-
Notifications
You must be signed in to change notification settings - Fork 27k
Add baseUrl documentation #6847
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -48,3 +48,28 @@ Learn more about ES6 modules: | |
- [When to use the curly braces?](https://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281) | ||
- [Exploring ES6: Modules](http://exploringjs.com/es6/ch_modules.html) | ||
- [Understanding ES6: Modules](https://leanpub.com/understandinges6/read#leanpub-auto-encapsulating-code-with-modules) | ||
|
||
## Absolute Imports | ||
|
||
You can configure your application to support importing modules using absolute paths. This can be done by configuring a `jsconfig.json` or `tsconfig.json` file in the root of your project. If you're using TypeScript in your project, you will already have the `tsconfig.json` file present. | ||
|
||
Below is an example `jsconfig.json` file for a JavaScript project. You can create the file if it doesn't already exist: | ||
|
||
```json | ||
{ | ||
"compilerOptions": { | ||
"baseUrl": "src" | ||
}, | ||
"include": ["src/**/*"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think this is needed. I could definitely be wrong about that though. When I was testing this I wasn't using it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You definitely don't need it, you're right. It's recommended by VS Code team to avoid performance issues when you add this file. This link explains it well: https://code.visualstudio.com/docs/languages/jsconfig. The key thing to note:
So once we add this file, it by default will include everything in the directory of Thoughts? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That seems like a pretty good reason to me. |
||
} | ||
``` | ||
|
||
If you're using TypeScript, you can configure the `baseUrl` setting inside the `compilerOptions` of your project's `tsconfig.json` file. | ||
|
||
Now that you've configured your project to support absolute imports, if you wanted to import a module located at `src/components/Button.js` for example, you can now import the module like so: | ||
ianschmitz marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
```js | ||
import Button from 'components/Button'; | ||
``` | ||
|
||
For more information on these configuration files, see the [jsconfig.json reference](https://code.visualstudio.com/docs/languages/jsconfig) and [tsconfig.json reference](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) documentation. |
Uh oh!
There was an error while loading. Please reload this page.