(plugin commonjs) SyntaxError: Unexpected token when packaging vue component with rollup

Viewed 3340

When packaging a Vue component with rollup, this error appears:

(plugin commonjs) SyntaxError: Unexpected token enter image description here

rollup.config.js:

import peerDepsExternal from "rollup-plugin-peer-deps-external";
import resolve from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";
import typescript from "rollup-plugin-typescript2";
import vue from "rollup-plugin-vue";
import {babel} from '@rollup/plugin-babel';

import packageJson from "./package.json";

export default {
    input: "src/index.ts",
    output: [
        {
            format: "cjs",
            file: packageJson.main,
            sourcemap: true
        },
        {
            format: "esm",
            file: packageJson.module,
            sourcemap: true
        }
    ],
    plugins: [babel(), peerDepsExternal(), resolve(), commonjs(), typescript(), vue()]
};

button.vue:

<template>
  <button>button</button>
</template>
<script lang="ts">
</script>

any solution?

So I found a better way:

It's better to use vue-sfc-rollup to package Vue components.

1 Answers

I had a problem like this. Swearing at any html tag in the <template>.

plugins: [
  vue() //should be the first
  babel(),
  peerDepsExternal(),
  resolve(),
  commonjs(),
  typescript(),
],

Watch this issue.

Related