All Projects → nuxt-community → Moment Module

nuxt-community / Moment Module

Licence: mit
Efficient Moment.js integration for Nuxt

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Moment Module

Javascriptstudy
JavaScript的学习代码总结,高级特性、数据结构、设计模式、typescript、vue、angular、react、node、webpack、weex、小程序、tensorflow…,JavaScript是世界上最好的语言!
Stars: ✭ 529 (+222.56%)
Mutual labels:  webpack, module
Prestashop
Free PWA & SPA for PrestaShop
Stars: ✭ 59 (-64.02%)
Mutual labels:  webpack, nuxt
React Article Bucket
总结,积累,分享,传播JavaScript各模块核心知识点文章全集,欢迎star,issue(勿fork,内容可能随时修改)。webpack核心内容部分请查看专栏: https://github.com/liangklfangl/webpack-core-usage
Stars: ✭ 750 (+357.32%)
Mutual labels:  webpack, moment
Frontend Boilerplates
Collection of Boilerplates with ES6, Vue, React, Nuxt, TypeScript, SCSS, Nodejs. Using good practices and file structures to inspire your real projects.
Stars: ✭ 269 (+64.02%)
Mutual labels:  webpack, nuxt
Instacam
Instant canvas video
Stars: ✭ 106 (-35.37%)
Mutual labels:  webpack, module
Nuxt Purgecss
Drop superfluous CSS! A neat PurgeCSS wrapper for Nuxt.js
Stars: ✭ 356 (+117.07%)
Mutual labels:  webpack, nuxt
Html Sass Babel Webpack Boilerplate
Webpack 4 + Babel + ES6 + SASS + HTML Modules + Livereload
Stars: ✭ 35 (-78.66%)
Mutual labels:  webpack, module
lazy-load
🌅 Lazy Loading module for Nuxt 3
Stars: ✭ 30 (-81.71%)
Mutual labels:  module, nuxt
Lichter.io
My own website and CV
Stars: ✭ 105 (-35.98%)
Mutual labels:  webpack, nuxt
Vue Svg Inline Loader
Webpack loader used for inline replacement of SVG images with actual content of SVG files in Vue projects.
Stars: ✭ 105 (-35.98%)
Mutual labels:  webpack, nuxt
nuxt-storyblok-queries
Nuxt.js module to simplify queries to the Storyblok API
Stars: ✭ 17 (-89.63%)
Mutual labels:  module, nuxt
Node Hot Loader
Hot module replacement (hot reload) for Node.js applications. Develop without server restarting.
Stars: ✭ 111 (-32.32%)
Mutual labels:  webpack, module
nuxt-modules
AX2's Nuxt modules
Stars: ✭ 30 (-81.71%)
Mutual labels:  module, nuxt
Vue Svg Loader
🔨 webpack loader that lets you use SVG files as Vue components
Stars: ✭ 514 (+213.41%)
Mutual labels:  webpack, nuxt
nuxt-ts-module
A tiny module to use Typescript within Nuxt.js application.
Stars: ✭ 21 (-87.2%)
Mutual labels:  module, nuxt
Vuefront Nuxt
Vuefront Nuxt module for building components based on config.
Stars: ✭ 16 (-90.24%)
Mutual labels:  webpack, nuxt
Nuxt Netlify Cms Module
Easy Netlify CMS integration with nuxt.js
Stars: ✭ 195 (+18.9%)
Mutual labels:  nuxt, module
Webpack
📜Some of the node tutorial -《Webpack学习笔记》
Stars: ✭ 234 (+42.68%)
Mutual labels:  webpack, module
Import Http
Import modules from URL instead of local node_modules
Stars: ✭ 1,150 (+601.22%)
Mutual labels:  webpack, module
Auth Module
auth.nuxtjs.org
Stars: ✭ 1,624 (+890.24%)
Mutual labels:  nuxt, module

@nuxtjs/moment

npm version npm downloads Github Actions CI Codecov License

Efficient Moment.js integration for Nuxt.js

📖 Release Notes

Features

Setup

  1. Add @nuxtjs/moment dependency to your project
yarn add --dev @nuxtjs/moment # or npm install --save-dev @nuxtjs/moment
  1. Add @nuxtjs/moment to the buildModules section of nuxt.config.js
export default {
  buildModules: [
    // Simple usage
    '@nuxtjs/moment',

    // With options
    ['@nuxtjs/moment', { /* module options */ }]
  ]
}

⚠️ If you are using Nuxt < v2.9 you have to install the module as a dependency (No --dev or --save-dev flags) and use modules section in nuxt.config.js instead of buildModules.

Using top level options

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    /* module options */
  }
}

Typescript setup

Add the types to your "types" array in tsconfig.json after the @nuxt/types entry.

⚠️ Use @nuxt/vue-app instead of @nuxt/types for nuxt < 2.9.

tsconfig.json

{
  "compilerOptions": {
    "types": [
      "@nuxt/types",
      "@nuxtjs/moment"
    ]
  }
}

Why?

For typescript to be aware of the additions to the nuxt Context, the vue instance and the vuex store, the types need to be merged via declaration merging by adding @nuxtjs/moment to your types.

Configuration

To strip all locales except en:

export default {
  buildModules: [
    '@nuxtjs/moment'
  ]
}

To strip all locales except en, fr and fa:

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    locales: ['fa']
  }
}

Note: en is built into Moment and can’t be removed!

Set default locale

You can set a default locale via the defaultLocale option. It must be included int the locales you keep (or 'en') and will only work when using the plugin option.

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    defaultLocale: 'de',
    locales: ['de']
  }
}

Plugins

You can import plugins to moment. See a list of plugins

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    plugins: [
      'moment-strftime',
      'moment-fquarter'
    ]
  }
}

Note: Don't forget to install each plugin.

Timezone

You can enable moment-timezone via the timezone option.

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    timezone: true
  }
}

You can filter time zone data and thus produce significant savings in file size. See all options in moment-timezone-data-webpack-plugin.

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    timezone: {
      matchZones: /Europe\/(Belfast|London|Paris|Athens)/,
      startYear: 2000,
      endYear: 2030
    }
  }
}

Set default time zone

You can set a default time zone via the defaultTimezone option.

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    defaultTimezone: 'America/Los_Angeles'
  }
}

Disable plugin

This module also registers a plugin to include all needed locales as well as injecting moment as $moment to Vue context. You can disable this behaviour using plugin: false.

export default {
  buildModules: [
    '@nuxtjs/moment'
  ],
  moment: {
    plugin: false
  }
}

Using inside templates

You can easily use $moment service from templates.

<div v-text="$moment(...)"></div>
<div>{{ $moment(...) }}</div>

License

MIT License

Copyright (c) Nuxt Community

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].