Rollup-plugin-typescript2: Mengalami kesalahan saat mengemas lodash menggunakan rollup-plugin-typescript2

Dibuat pada 26 Des 2019  ·  3Komentar  ·  Sumber: ezolenko/rollup-plugin-typescript2

Mendapat kesalahan saat mengemas lodash

Kesalahannya adalah:

[!] (plugin rpt2) TypeError: this.emitFile bukan fungsi
TypeError: this.emitFile bukan fungsi
di emitDeclaration (D:\work\topo\node_modules\rollup-plugin-typescript2\src\index.ts:363:11)
di lodash_3 (D:\work\topo\node_modules\rollup-plugin-typescript2\src\index.ts:373:5)
di D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:4905:15
di baseForOwn (D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:2990:24)
di D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:4874:18
di forEach (D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:9342:14)
di Object._.each (D:\work\topo\node_modules\rollup-plugin-typescript2\src\index.ts:371:4)
di Object.generateBundle (D:\work\topo\node_modules\rollup-plugin-typescript2\src\index.ts:276:18)
di D:\work\topo\node_modules\rollup\dist\rollup.js:16609:25

npm ERR! kode ELIFECYCLE
npm ERR! salah 1
npm ERR! @phoenix/ [email protected] build:aio : rollup -c config/rollup.config.aio.js
npm ERR! Keluar dari status 1

Dan tidak ada file node_modules\rollup-plugin-typescript2\src\index.ts sama sekali.

Lingkungan

- gambarkan lingkungan Anda jika relevan dengan masalah -

Versi

  • naskah: 3.7.3
  • rollup: v1.27.14
  • rollup-plugin-typescript2: 0.25.3

rollup.config.js

// rollup.config.js
// umd
var nodeResolve = require('rollup-plugin-node-resolve');
var commonjs = require('rollup-plugin-commonjs');
var uglify = require('rollup-plugin-uglify');
var json = require('rollup-plugin-json');
var ignore = require('rollup-plugin-ignore');

var common = require('./rollup.js');

var prod = process.env.NODE_ENV === 'production';

module.exports = {
  input: 'src/index.ts',
  output: {
    file: prod ? 'dist/index.aio.min.js' : 'dist/index.aio.js',
    format: 'umd',
    name: common.name,
    banner: common.banner,
  },
  plugins: [
    ignore(['canvas']),
    nodeResolve({
      mainFields: ['module', 'main'],
      extensions: ['.ts', '.js']
    }),
    commonjs({
      include: 'node_modules/**',
    }),
    json({
      include: [
        'node_modules/**/*.json'
      ]
    }),
    common.getCompiler(),
    (prod && uglify())
  ]
};

rollup.js

var typescript = require('rollup-plugin-typescript2');

var pkg = require('../package.json');

function getCompiler(opt) {
  opt = opt || {
    tsconfigOverride: { compilerOptions : { module: 'ES2015' } }
  }

  return typescript(opt);
}

exports.name = 'topo';
exports.getCompiler = getCompiler;

tsconfig.json

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "CommonJS",
    "declaration": true,
    "newLine": "LF",
    "esModuleInterop": true
  },
  "include": [
    "src/**/*.ts",
    "test/**/*.ts"
  ]
}

package.json

{
  "name": "topo",
  "version": "0.1.0",
  "description": "",
  "main": "dist/index.js",
  "jsnext:main": "dist/index.esm.js",
  "module": "dist/index.esm.js",
  "sideEffects": false,
  "scripts": {
    "clean": "rimraf ./dist",
    "testinbrowser": "rollup -c config/rollup.config.testinbrowser.js",
    "test": "npm run lint && npx jest",
    "release": "npm test && npm run build && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags",
    "lint": "eslint -c .eslintrc.js src/**/*.ts",
    "lint:fix": "eslint -c .eslintrc.js src/**/*.ts --fix",
    "build:self": "rollup -c config/rollup.config.js",
    "build:esm": "rollup -c config/rollup.config.esm.js",
    "build:aio": "rollup -c config/rollup.config.aio.js",
    "build:aio.min": "cross-env NODE_ENV=production npm run build:aio",
    "build": "npm run clean && npm run build:self && npm run build:aio && npm run build:aio.min && npm run doc",
    "coveralls": "nyc report --reporter=text-lcov | coveralls",
    "doc": "./node_modules/.bin/typedoc --options typedoc.json ./src/index.ts"
  },
  "author": "wangpeng16",
  "license": "MIT",
  "files": [
    "/dist",
    "/dist/src/*.d.ts"
  ],
  "engines": {
    "node": ">= 0.12.0"
  },
  "devDependencies": {
    "@js-lib/cli": "^1.5.1",
    "@microsoft/tsdoc": "^0.12.16",
    "@types/jest": "^24.0.24",
    "@types/node": "^12.12.9",
    "@typescript-eslint/eslint-plugin": "^1.4.2",
    "@typescript-eslint/parser": "^1.4.2",
    "@vue/test-utils": "^1.0.0-beta.30",
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "^24.9.0",
    "babel-plugin-external-helpers": "^6.22.0",
    "babel-plugin-istanbul": "5.1.0",
    "coveralls": "3.0.2",
    "es5-shim": "4.5.10",
    "eslint": "^5.15.1",
    "jest": "^24.9.0",
    "rimraf": "2.6.2",
    "rollup": "1.1.0",
    "rollup-plugin-buble": "0.19.6",
    "rollup-plugin-commonjs": "^9.2.0",
    "rollup-plugin-filesize": "6.0.0",
    "rollup-plugin-ignore": "^1.0.5",
    "rollup-plugin-json": "^4.0.0",
    "rollup-plugin-livereload": "^1.0.4",
    "rollup-plugin-node-builtins": "^2.1.2",
    "rollup-plugin-node-resolve": "4.0.0",
    "rollup-plugin-serve": "^1.0.1",
    "rollup-plugin-strict-alias": "^1.0.0",
    "rollup-plugin-terser": "^4.0.2",
    "rollup-plugin-typescript2": "^0.25.3",
    "rollup-plugin-uglify": "^6.0.4",
    "rollup-plugin-vue": "4.4.0",
    "source-map-support": "0.5.9",
    "ts-jest": "^24.2.0",
    "ts-node": "7.0.1",
    "tslib": "1.9.3",
    "typedoc": "^0.15.4",
    "typedoc-plugin-markdown": "^2.2.14",
    "typescript": "^3.7.3",
    "vue": "^2.5.22",
    "vue-jest": "^3.0.5",
    "vue-template-compiler": "^2.5.22"
  },
  "dependencies": {
    "@types/fabric": "^3.5.1",
    "@types/html2canvas": "0.0.35",
    "@types/lodash": "^4.14.149",
    "fabric": "^3.5.1",
    "html2canvas": "^1.0.0-rc.5",
    "lodash": "^4.17.15"
  }
}

kode penggunaan saya lodash

import chunk from 'lodash/chunk';
import clone from 'lodash/clone';
import flatten from 'lodash/flatten';

Terima kasih banyak!

Komentar yang paling membantu

Versi rollup Anda adalah 1.1.0 menurut paket json. Versi rpt2 saat ini membutuhkan minimal 1.26.3 .

Semua 3 komentar

Dipecahkan dengan menggunakan @rollup/plugin-typescript sebagai gantinya

Dipecahkan dengan menggunakan @rollup/plugin-typescript sebagai gantinya.

Versi rollup Anda adalah 1.1.0 menurut paket json. Versi rpt2 saat ini membutuhkan minimal 1.26.3 .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat