在将 rollup-plugin-vue 升级到 v4 之前, https://github.com/alexsasharegan/vue-transmit 上的所有内容都可以正常构建。 升级到 v4 会在 rpt2 中产生错误。
终端输出
#########################################
# run the build with rollup-plugin-vue<strong i="12">@v3</strong>
#########################################
➜ vue-transmit git:(master) ✗ npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
index.umd.ts → ./dist/vue-transmit.js...
created ./dist/vue-transmit.js in 2.4s
index.umd.ts → ./dist/vue-transmit.min.js...
created ./dist/vue-transmit.min.js in 2s
/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts → ./dist/vue-transmit.esm.js...
created ./dist/vue-transmit.esm.js in 1.3s
/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts → ./dist/vue-transmit.esm.min.js...
created ./dist/vue-transmit.esm.min.js in 1.4s
#########################################
# update rollup-plugin-vue
#########################################
➜ vue-transmit git:(master) npm i -D rollup-plugin-vue<strong i="13">@latest</strong>
+ [email protected]
added 3 packages from 3 contributors, removed 161 packages, updated 1 package and moved 7 packages in 11.165s
#########################################
# re-run the build
#########################################
➜ vue-transmit git:(master) ✗ npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
index.umd.ts → ./dist/vue-transmit.js...
[!] (rpt2 plugin) Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
src/components/VueTransmit.vue?{"type":"script"}#.ts
Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
at getValidSourceFile (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103163:23)
at Object.getEmitOutput (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103506:30)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:192:16
at TsCache.getCompiled (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/tscache.ts:175:24)
at Object.transform (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:190:20)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup/dist/rollup.js:17316:48
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-05T22_34_16_368Z-debug.log
➜ vue-transmit git:(master) ✗
2.8.3
0.58.2
0.13.0
: 汇总配置文件
const path = require("path");
const ts = require("rollup-plugin-typescript2");
const vue = require("rollup-plugin-vue");
const uglify = require("rollup-plugin-uglify");
const isProduction = process.env.NODE_ENV === `production`;
const kebab_name = "vue-transmit";
const pascal_name = "VueTransmit";
const tsOptions = { verbosity: 3 };
const vueOptions = { css: path.join(__dirname, `dist/${kebab_name}.css`) };
module.exports = [
{
input: "index.umd.ts",
output: {
format: "umd",
name: pascal_name,
file: `./dist/${kebab_name}.js`,
sourcemap: true,
globals: {
vue: "Vue",
firebase: "firebase",
},
},
},
{
input: path.resolve(__dirname, "index.ts"),
output: {
format: "es",
file: `./dist/${kebab_name}.esm.js`,
sourcemap: true,
},
},
].reduce((configs, { input, output }) => {
configs.push({
external: ["vue", "firebase"],
input,
output: { ...output },
plugins: [ts(), vue(vueOptions)],
});
configs.push({
external: ["vue", "firebase"],
input,
output: {
...output,
file: replaceExtension(output.file, ".min.js"),
},
plugins: [ts(), vue(vueOptions), uglify()],
});
return configs;
}, []);
function replaceExtension(name, replacement) {
return name.slice(0, name.lastIndexOf(".")) + replacement;
}
配置文件
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "dist",
"declarationDir": "dist",
"allowSyntheticDefaultImports": true,
"lib": ["dom", "esnext"],
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"declaration": true,
"allowJs": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": false,
"sourceMap": true,
"skipLibCheck": true,
"strict": true
},
"include": ["src", "./index.ts", "./index.umd.ts"],
"exclude": ["node_modules", "vendor", "dist"]
}
包.json
{
"name": "vue-transmit",
"version": "9.0.0-alpha.11",
"description": "Vue.js drag & drop uploader based on Dropzone.js",
"module": "dist/vue-transmit.esm.js",
"main": "dist/vue-transmit.js",
"types": "dist/index.d.ts",
"keywords": [
"dragndrop",
"drag and drop",
"file upload",
"upload"
],
"directories": {
"test": "test"
},
"files": [
"dist"
],
"scripts": {
"clean": "scripts/clean.js",
"predev": "npm run clean",
"dev": "cross-env NODE_ENV=development rollup -c ./rollup.config.js",
"prebuild": "npm run clean",
"build": "cross-env NODE_ENV=production rollup -c ./rollup.config.js",
"prepublishOnly": "npm run build",
"test:site": "php -S localhost:3030 -t ./test/",
"test:jest": "jest --coverage",
"test": "npm run test:jest",
"precommit": "pretty-quick --staged",
"size:min": "cat dist/vue-transmit.esm.js | wc -c",
"size:gzip": "gzip -c dist/vue-transmit.esm.js | wc -c",
"release:alpha": "standard-version --prerelease alpha",
"postrelease:alpha": "git push --follow-tags origin master && npm publish --tag prerelease",
"release:beta": "standard-version --prerelease beta",
"postrelease:beta": "git push --follow-tags origin master && npm publish --tag prerelease",
"release": "standard-version",
"postrelease": "git push --follow-tags origin master && npm publish"
},
"jest": {
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"transform": {
"\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"testMatch": [
"**/__tests__/*.(ts|js)",
"**/?(*.)(spec|test).(js|ts)"
],
"coverageDirectory": "coverage",
"collectCoverage": true,
"mapCoverage": true
},
"peerDependencies": {
"vue": "^2.5.0"
},
"dependencies": {},
"devDependencies": {
"@types/jest": "^22.2.3",
"cross-env": "^5.1.4",
"firebase": "^4.13.1",
"husky": "^0.14.3",
"jest": "^22.4.3",
"lodash": "^4.17.10",
"postcss": "^6.0.22",
"prettier": "^1.12.1",
"pretty-quick": "^1.4.1",
"rimraf": "^2.6.2",
"rollup": "^0.58.2",
"rollup-plugin-postcss": "^1.6.1",
"rollup-plugin-typescript2": "^0.13.0",
"rollup-plugin-uglify": "^3.0.0",
"rollup-plugin-vue": "^4.0.1",
"standard-version": "^4.3.0",
"ts-jest": "^22.4.5",
"typescript": "^2.8.3",
"uglify-js": "^3.3.23",
"vue": "^2.5.16",
"vue-template-compiler": "^2.5.16"
},
"repository": {
"type": "git",
"url": "git+https://github.com/alexsasharegan/vue-transmit.git"
},
"author": "Alex Regan <[email protected]> (https://github.com/alexsasharegan)",
"license": "MIT",
"bugs": {
"url": "https://github.com/alexsasharegan/vue-dropzone/issues"
},
"homepage": "https://github.com/alexsasharegan/vue-dropzone#readme"
}
输出
➜ vue-transmit git:(master) ✗ npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
index.umd.ts → ./dist/vue-transmit.js...
rpt2: typescript version: 2.8.3
rpt2: rollup-plugin-typescript2 version: 0.13.0
rpt2: plugin options:
{
"verbosity": 3,
"clean": true,
"check": true,
"cacheRoot": "/Users/alex/github.com/alexsasharegan/vue-transmit/.rpt2_cache",
"include": [
"*.ts+(|x)",
"**/*.ts+(|x)"
],
"exclude": [
"*.d.ts",
"**/*.d.ts"
],
"abortOnError": true,
"rollupCommonJSResolveHack": false,
"typescript": "version 2.8.3",
"useTsconfigDeclarationDir": false,
"tsconfigOverride": {},
"tsconfigDefaults": {}
}
rpt2: rollup config:
{
"external": [
"vue",
"firebase",
"",
""
],
"input": "index.umd.ts",
"chunkGroupingSize": 5000,
"perf": false,
"plugins": [
{
"name": "rpt2"
},
{
"name": "vue.delegate"
}
],
"entry": "index.umd.ts"
}
rpt2: built-in options overrides: {
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"outDir": "/Users/alex/github.com/alexsasharegan/vue-transmit",
"moduleResolution": 2,
"declarationDir": "/Users/alex/github.com/alexsasharegan/vue-transmit"
}
rpt2: parsed tsconfig: {
"options": {
"module": 5,
"outDir": "/Users/alex/github.com/alexsasharegan/vue-transmit",
"declarationDir": "/Users/alex/github.com/alexsasharegan/vue-transmit",
"allowSyntheticDefaultImports": true,
"lib": [
"lib.dom.d.ts",
"lib.esnext.d.ts"
],
"target": 1,
"moduleResolution": 2,
"declaration": true,
"allowJs": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": false,
"sourceMap": true,
"skipLibCheck": true,
"strict": true,
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"configFilePath": "/Users/alex/github.com/alexsasharegan/vue-transmit/tsconfig.json"
},
"fileNames": [
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/global.d.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/classes/VTransmitFile.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/classes/VTransmitUploadContext.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/interfaces.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts"
],
"typeAcquisition": {
"enable": false,
"include": [],
"exclude": []
},
"raw": {
"compilerOptions": {
"module": "es2015",
"outDir": "dist",
"declarationDir": "dist",
"allowSyntheticDefaultImports": true,
"lib": [
"dom",
"esnext"
],
"target": "es5",
"moduleResolution": "node",
"declaration": true,
"allowJs": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": false,
"sourceMap": true,
"skipLibCheck": true,
"strict": true
},
"compileOnSave": false,
"include": [
"src",
"./index.ts",
"./index.umd.ts"
],
"exclude": [
"node_modules",
"vendor",
"dist"
]
},
"errors": [],
"wildcardDirectories": {},
"compileOnSave": false,
"configFileSpecs": {
"includeSpecs": [
"src",
"./index.ts",
"./index.umd.ts"
],
"excludeSpecs": [
"node_modules",
"vendor",
"dist"
],
"validatedIncludeSpecs": [
"src",
"./index.ts",
"./index.umd.ts"
],
"validatedExcludeSpecs": [
"node_modules",
"vendor",
"dist"
],
"wildcardDirectories": {}
}
}
rpt2: included:
'[
"*.ts+(|x)",
"**/*.ts+(|x)"
]'
rpt2: excluded:
'[
"*.d.ts",
"**/*.d.ts"
]'
rpt2: Ambient types:
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/src/global.d.ts
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/@types/estree/index.d.ts
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/@types/jest/index.d.ts
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/@types/node/index.d.ts
rpt2: ambient types changed, redoing all semantic diagnostics
rpt2: cleaning cache: /Users/alex/github.com/alexsasharegan/vue-transmit/.rpt2_cache/2e114634f27dc3edb218e480a57846efae52f054
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts'
rpt2: cache: '49761a9d3cb78f1200fa5ea2cf4554c239130b2b'
rpt2: cache miss
rpt2: cache: '49761a9d3cb78f1200fa5ea2cf4554c239130b2b'
rpt2: cache miss
rpt2: cache: '49761a9d3cb78f1200fa5ea2cf4554c239130b2b'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts'
rpt2: resolving './index'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: cache: 'cfdd26383d14689fe5e8078105fc3da90ae47d57'
rpt2: cache miss
rpt2: cache: 'cfdd26383d14689fe5e8078105fc3da90ae47d57'
rpt2: cache miss
rpt2: cache: 'cfdd26383d14689fe5e8078105fc3da90ae47d57'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/index'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/upload-adapters/xhr'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/upload-adapters/firebase'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/core/utils'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: cache: '07a85db626deafe67a055f45cf879446275068d6'
rpt2: cache miss
rpt2: cache: '07a85db626deafe67a055f45cf879446275068d6'
rpt2: cache miss
rpt2: cache: '07a85db626deafe67a055f45cf879446275068d6'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: cache: '069a4a7a8969f2603cf55cc36d41ce843fdd5290'
rpt2: cache miss
rpt2: cache: '069a4a7a8969f2603cf55cc36d41ce843fdd5290'
rpt2: cache miss
rpt2: cache: '069a4a7a8969f2603cf55cc36d41ce843fdd5290'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: cache: '46456584c1a94aea483510cb2cd922dc05102338'
rpt2: cache miss
rpt2: cache: '46456584c1a94aea483510cb2cd922dc05102338'
rpt2: cache miss
rpt2: cache: '46456584c1a94aea483510cb2cd922dc05102338'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: cache: '35939121a8c0293ccd932395131ec5df0105f22c'
rpt2: cache miss
rpt2: cache: '35939121a8c0293ccd932395131ec5df0105f22c'
rpt2: cache miss
rpt2: cache: '35939121a8c0293ccd932395131ec5df0105f22c'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: resolving '../core/utils'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: resolving '../core/utils'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'
rpt2: cache: 'c3af5fe8e2fa9475cb81f40c13777e7d9cd67017'
rpt2: cache miss
[!] (rpt2 plugin) Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
src/components/VueTransmit.vue?{"type":"script"}#.ts
Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
at getValidSourceFile (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103163:23)
at Object.getEmitOutput (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103506:30)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:192:16
at TsCache.getCompiled (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/tscache.ts:175:24)
at Object.transform (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:190:20)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup/dist/rollup.js:17316:48
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-05T22_55_28_977Z-debug.log
如果你想使用任何调试魔法,你可以克隆 repo 并安装最新的 rollup-plugin-vue。
git clone [email protected]:alexsasharegan/vue-transmit.git
cd vue-transmit
npm i
npm i -D rollup-plugin-vue@^4.0.1
npm run build
@alexsasharegan看起来像 vue 插件应该生成一个 ts 文件,对吧? 你可以尝试将vue(vueOptions)
之前ts()
在你的配置?
刚刚尝试使用[email protected]
,并收到错误。 我相信 TS 语法正在扼杀其他插件。 看看输出:
➜ vue-transmit git:(master) ✗ npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
src/index.umd.ts → ./dist/vue-transmit.js...
[!] Error: Unexpected token
src/components/VueTransmit.vue.ts?rollup_plugin_vue=%7B%22type%22%3A%22script%22%2C%22lang%22%3A%22ts%22%7D (86:5)
84: import { DriverInterface, DriverConstructor } from "../core/interfaces";
85:
86: type FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry;
^
87:
88: export default Vue.extend({
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-07T16_54_41_779Z-debug.log
尝试将 rpt2 的包含过滤器修改为类似的内容: include: ["*.ts+(|x)", "**/*.ts+(|x)", RegExp(".*\.ts\?.*")],
( ["*.ts+(|x)", "**/*.ts+(|x)"]
是默认值)
现在它找不到文件:
➜ vue-transmit git:(master) ✗ npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
src/index.umd.ts → ./dist/vue-transmit.js...
[!] (rpt2 plugin) Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue'.
src/components/VueTransmit.vue
Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue'.
at getValidSourceFile (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103163:23)
at Object.getEmitOutput (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103506:30)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:192:16
at TsCache.getCompiled (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/tscache.ts:175:24)
at Object.transform (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:190:20)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup/dist/rollup.js:17316:48
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-07T18_28_09_072Z-debug.log
作为参考,这里是文件:
├── classes
│ ├── VTransmitFile.ts
│ └── VTransmitUploadContext.ts
├── components
│ └── VueTransmit.vue
├── core
│ ├── interfaces.ts
│ └── utils.ts
├── global.d.ts
├── index.ts
├── index.umd.ts
└── upload-adapters
├── firebase.ts
├── index.ts
└── xhr.ts
我无法在我的环境(win10、终端或 git bash)中构建您的项目。
$ NODE_ENV=production ./node_modules/.bin/rollup -c ./rollup.config.js
src/index.umd.ts → ./dist/vue-transmit.js...
[!] TypeError: Cannot read property 'script' of undefined
TypeError: Cannot read property 'script' of undefined
at resolveVuePart (E:\source\scr\vue-transmit\node_modules\rollup-plugin-vue\src\utils.js:68:16)
at resolveId (E:\source\scr\vue-transmit\node_modules\rollup-plugin-vue\src\index.js:45:25)
at E:\source\scr\vue-transmit\node_modules\rollup\dist\rollup.js:5977:113
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
是的,如果我切换回"rollup-plugin-vue": "^3.0.0"
,它会起作用。
也许用rollup-plugin-vue
也打开一个错误? 他们在 v4 中所做的任何更改都会破坏一些东西。
我今天或明天会尝试将这个问题链接到那里。
有点晚了,但我将问题链接到rollup-plugin-vue
。
.vue
文件可以有一个<script lang="ts">...</script>
块。
这些块被转换为虚拟模块。 例如: ./foo/bar.vue
Typescript 块将由./foo/bar.vue?rollup-plugin-vue=script.ts
。
在夹具(https://github.com/vuejs/rollup-plugin-vue/blob/master/test/fixtures/with-script-typescript.vue)测试的情况下正常工作与https://github.com/rollup/汇总插件打字稿。
嗯,是的,看起来 typescript 正试图直接加载该文件,而不是出于某种原因向我请求快照。
这方面有什么进展吗? https://github.com/vuejs/rollup-plugin-vue/issues/204上的人很好奇它是否得到解决。 这是他们的问题,还是 TS 插件的问题?
抱歉好久没看,我会尽快再看。
@alexsasharegan好的,比我想象的要简单得多,我没有将缓存模块的更新列表返回到打字稿,所以它试图自己找到模块。 现在应该修复了,我稍后会发布。
我在观看模式下遇到这种情况,但它是随机发生的
最有用的评论
@alexsasharegan好的,比我想象的要简单得多,我没有将缓存模块的更新列表返回到打字稿,所以它试图自己找到模块。 现在应该修复了,我稍后会发布。