diff --git a/content/id/guides/configuration-glossary/configuration-builddir.md b/content/id/guides/configuration-glossary/configuration-builddir.md new file mode 100644 index 0000000000..40d82e5d49 --- /dev/null +++ b/content/id/guides/configuration-glossary/configuration-builddir.md @@ -0,0 +1,20 @@ +--- +title: 'Propert buildDir' +description: Menentukan direktori dist untuk aplikasi Nuxt.js kamu +menu: buildDir +category: configuration-glossary +position: 2 +--- + +- Tipe: `String` +- Bawaan: `.nuxt` + +> Menentukan direktori dist untuk aplikasi Nuxt.js kamu + +```js{}[nuxt.config.js] +export default { + buildDir: 'nuxt-dist' +} +``` + +Secara bawaan, banyak alat mengasumsikan bahwa `.nuxt` adalah direktori tersembunyi, karena namanya dimulai dengan titik. Kamu dapat menggunakan opsi ini untuk mencegahnya. \ No newline at end of file diff --git a/content/id/guides/configuration-glossary/configuration-dev.md b/content/id/guides/configuration-glossary/configuration-dev.md new file mode 100644 index 0000000000..6eef001af6 --- /dev/null +++ b/content/id/guides/configuration-glossary/configuration-dev.md @@ -0,0 +1,56 @@ +--- +title: 'Properti dev' +description: Menentukan mode pengembangan atau produksi. +menu: dev +category: configuration-glossary +position: 6 +--- + +- Tipe: `Boolean` +- Bawaan: `true` + +> Menentukan mode pengembangan atau produksi Nuxt.js. + +Properti ini ditimpa oleh perintah nuxt: + +- `dev` dipaksa menjadi` true` dengan `nuxt` +- `dev` dipaksa menjadi `false` dengan `nuxt build`, `nuxt start` dan `nuxt generate` + +Properti ini harus digunakan saat menggunakan [Nuxt.js secara terprogram](/docs/2.x/internals-glossary/nuxt): + +```js{}[nuxt.config.js] +export default { + dev: process.env.NODE_ENV !== 'production' +} +``` + +```js{}[server.js] +const { Nuxt, Builder } = require('nuxt') +const app = require('express')() +const port = process.env.PORT || 3000 + +// Kami memberi contoh Nuxt.js dengan opsi +const config = require('./nuxt.config.js') +const nuxt = new Nuxt(config) +app.use(nuxt.render) + +// Build hanya dalam mode pengembangan +if (config.dev) { + new Builder(nuxt).build() +} + +// Memantau peladen +app.listen(port, '0.0.0.0').then(() => { + console.log(`Peladen sedang memantau pada port: ${port}`) +}) +``` + +```json{}[package.json] +{ + "scripts": { + "dev": "node server.js", + "build": "nuxt build", + "start": "NODE_ENV=production node server.js" + } +} +``` \ No newline at end of file diff --git a/content/id/guides/configuration-glossary/configuration-env.md b/content/id/guides/configuration-glossary/configuration-env.md new file mode 100644 index 0000000000..793302bf88 --- /dev/null +++ b/content/id/guides/configuration-glossary/configuration-env.md @@ -0,0 +1,70 @@ +--- +title: 'Properti env' +description: Berbagi variabel lingkungan antara klien dan peladen. +menu: env +category: configuration-glossary +position: 8 +--- + +- Tipe: `Object` + +> Nuxt.js memungkinkan kamu membuat variabel lingkungan sisi klien, juga untuk dibagikan dari sisi peladen. + +Properti env mendefinisikan variabel lingkungan yang harus tersedia di sisi klien. Properti ini dapat ditugaskan menggunakan variabel lingkungan sisi peladen, [modul dotenv](https://github.com/nuxt-community/dotenv-module) atau yang serupa. + +**Pastikan untuk membaca tentang `process.env` dan `process.env == {}` di bawah untuk pemecahan masalah yang lebih baik.** + +```js{}[nuxt.config.js] +export default { + env: { + baseUrl: process.env.BASE_URL || 'http://localhost:3000' + } +} +``` + +Ini memungkinkan kamu membuat properti `baseUrl` yang akan sama dengan variabel lingkungan sisi peladen `BASE_URL` jika ada atau telah ditentukan. Jika tidak, `baseUrl` di sisi klien akan sama dengan `'http://localhost:3000'`. Oleh karena itu, variabel sisi peladen BASE_URL disalin ke sisi klien melalui properti `env` di `nuxt.config.js`. Atau, nilai lain yang ditentukan (http://localhost:3000). + +Kemudian, kamu dapat mengakses variabel `baseUrl` dengan 2 cara: + +1. Melalui `process.env.baseUrl`. +2. Melalui `context.env.baseUrl`, lihat [API konteks](/docs/2.x/internals-glossary/context). + +Kamu dapat menggunakan properti `env` misalnya untuk memberikan token publik. + +Untuk contoh di atas, kita dapat menggunakannya untuk mengkonfigurasi [axios](https://github.com/mzabriskie/axios). + +```js{}[plugins/axios.js] +import axios from 'axios' + +export default axios.create({ + baseURL: process.env.baseUrl +}) +``` + +Kemudian, di laman kamu, kamu dapat mengimpor axios seperti berikut: `import axios from '~/plugins/axios'` + +## Injeksi otomatis variabel lingkungan + +Jika kamu menentukan variabel lingkungan yang dimulai dengan `NUXT_ENV_` dalam fase _build_ (misalnya, `NUXT_ENV_COOL_WORD=freezing nuxt build`), variabel tersebut akan otomatis dimasukkan ke dalam lingkungan proses. Ketahuilah bahwa variabel tersebut berpotensi didahulukan daripada variabel yang ditentukan di `nuxt.config.js` dengan nama yang sama. + +## process.env == {} + +Perhatikan bahwa Nuxt menggunakan `definePlugin` _webpack_ untuk mendefinisikan variabel lingkungan. Ini berarti bahwa `process` atau `process.env` yang aktual dari Node.js, itu tidak tersedia atau ditentukan. Setiap properti `env` yang ditentukan di nuxt.config.js secara individual dipetakan ke `process.env.xxxx` dan diubah selama kompilasi. + +Artinya, `console.log(process.env)` akan memberi keluaran `{}` tetapi `console.log(process.env.your_var)` akan tetap memberikan keluaran nilai kamu. Ketika _webpack_ mengkompilasi kode kamu, itu menggantikan semua _instance_ `process.env.your_var` dengan nilai yang kamu telah setel, misalnya: `env.test = 'testing123'`. Jika kamu menggunakan `process.env.test` dalam kode di suatu tempat, ini sebenarnya diterjemahkan ke 'testing123'. + +sebelum + +```js +if (process.env.test == 'testing123') +``` + +setelah + +```js +if ('testing123' == 'testing123') +``` + +## serverMiddleware + +Karena [serverMiddleware](/docs/2.x/configuration-glossary/configuration-servermiddleware) dipisahkan dari _build_ Nuxt utama, variabel `env` yang ditentukan di `nuxt.config.js` tidak tersedia di sana. \ No newline at end of file diff --git a/content/id/guides/configuration-glossary/configuration-global-name.md b/content/id/guides/configuration-glossary/configuration-global-name.md new file mode 100644 index 0000000000..a80d924a2a --- /dev/null +++ b/content/id/guides/configuration-glossary/configuration-global-name.md @@ -0,0 +1,42 @@ +--- +title: 'Properti globalName' +description: Nuxt.js memungkinkan kamu menyesuaikan ID global yang digunakan dalam templat HTML utama serta nama instance Vue utama dan opsi lainnya. +menu: globalName +category: configuration-glossary +position: 11 +--- + +> Nuxt.js memungkinkan kamu menyesuaikan ID global yang digunakan dalam templat HTML utama serta nama _instance_ Vue utama dan opsi lainnya. + +- Tipe: `String` +- Bawaan: `nuxt` + +```js{}[nuxt.config.js] +{ + globalName: 'myCustomName' +} +``` + + + +`globalName` harus menjadi pengenal JavaScript yang valid, dan mengubahnya dapat merusak dukungan untuk _plugin_ tertentu yang mengandalkan fungsi Nuxt-bernama. Jika kamu hanya ingin mengubah ID HTML `__nuxt` yang terlihat, gunakan properti `globals`. + + + +## Properti globals + +> Menyesuaikan nama global tertentu yang didasarkan pada `globalName` secara bawaan. + +- Tipe: `Object` +- Bawaan: + +```js{}[nuxt.config.js] +globals: { + id: globalName => `__${globalName}`, + nuxt: globalName => `$${globalName}`, + context: globalName => `__${globalName.toUpperCase()}__`, + pluginPrefix: globalName => globalName, + readyCallback: globalName => `on${_.capitalize(globalName)}Ready`, + loadedCallback: globalName => `_on${_.capitalize(globalName)}Loaded` +}, +``` \ No newline at end of file