Тайлбар байхгүй

dependabot[bot] 0f36dd72e5 Bump json5 from 1.0.1 to 1.0.2 2 жил өмнө
.eslintrc a044ac2d4e Add ESLint 5 жил өмнө
.gitignore 799634a7eb Add Prettier, change license 5 жил өмнө
.prettierrc 799634a7eb Add Prettier, change license 5 жил өмнө
LICENSE b07ec27090 fix(repo-migration): references + oss license 2 жил өмнө
README.md b1f3603cf7 docs(Installation, EsLint int): Clarifications 4 жил өмнө
generator.js e0cdacb175 Add coffee-loader to generator, remove preset-env 5 жил өмнө
index.js 635e5dc6c5 Remove exclude 5 жил өмнө
package.json 5e1b2c6123 v1.0.2 2 жил өмнө
renovate.json 2608e1bb53 Add renovate.json 5 жил өмнө
yarn.lock 0f36dd72e5 Bump json5 from 1.0.1 to 1.0.2 2 жил өмнө

README.md

vue-cli-plugin-coffee

CoffeeScript2 support for the projects created with @vue/cli.

With built-in:

  • cache-loader
  • thread-loader
  • babel-loader

Installation

According to this you are able to install community plugins as follows:

vue add coffee

ESLINT Note: Please visit "EsLint Integration" Section below on how to make this plugin work with eslint (else, it will return errors on coffeescript code). If you don't need eslint, you can just uninstall it.

# ONLY if you don't need eslint
npm remove @vue/cli-plugin-eslint

Common usage

Usually you write SFC like this

<template>
  <button @click="onclick">
    <slot></slot>
  </button>
</template>

<script lang="coffee">
  export default
    name: "Button"
    props:
      onclick:
        type: Function
        required: false
</script>

Entries

According to this you can add entries using your vue.config.js like so:

// vue.config.js
module.exports = {
  configureWebpack: {
    entry: {
      'new-entry': 'path/to/new/entry.coffee'
    }
  }
}

Eslint Integration

If you're using ESLint, note that vue-loader uses lang="coffee" to identify components which are using Coffeescript, but lang="coffee" is not recognizable for ESLint.

There are 2 ways on how you can make this plugin work with eslint:

  1. Coffeescript ESLint Support
    https://github.com/helixbass/eslint-plugin-coffee

  2. Ignore Coffeescript Syntax
    ESLint (following traditional HTML) uses type="xxx" to identify the type of scripts. As long as a <script> tag has any type other than javascript, ESLint would mark the script as non-javascript, and skips linting it. Coffeescript’s convention is to use type="text/coffeescript" to identify itself. Therefore, in your Vue components which are using Coffeescript, using both lang and type to avoid ESLint warnings. Example:

    <script lang="coffee" type="text/coffeescript">
    console.log "This code is ignored by eslint, but executed by the coffeescript compiler"
    </script>