汇总输出经过散列处理并包含导出



我有一个使用后台脚本的chrome扩展。这个后台脚本是用typescript编写的,到目前为止,我能够使用tscbrowserify来创建单个文件/捆绑包。在我需要socker.io-client之前,这一直很好。有了这个browerify就不能再做这项工作了,所以我找了其他东西,找到了Rollup。

我现在有一些东西正在运行,但当我试图加载chrome扩展时,它会给我一个错误:

Uncaught ReferenceError: exports is not defined

我希望它也能取代这些(我想(并内联所有的依赖项。

这是我的rollup.config.js文件

import merge from 'deepmerge';
import { createBasicConfig } from '@open-wc/building-rollup';
const baseConfig = createBasicConfig();
export default merge(baseConfig, {
input: './out-tsc/src/background/background.js',
output: {
dir: 'dist',
}
});

还有我的tsconfig.json

{
"compilerOptions": {
"target": "es2018",
"module": "esnext",
"moduleResolution": "node",
"noEmitOnError": true,
"lib": ["es2017", "dom"],
"strict": true,
"esModuleInterop": false,
"outDir": "out-tsc",
"rootDir": "./"
},
"include": [
"./src/background/background.ts",
"./src/background/**/*.ts"
]
}

我用来编译后台脚本的命令是:

$> tsc --build ./tsconfig-background.json && rollup -c rollup.config.js

有什么建议我可以解决exports错误吗?

我刚刚找到了一个非常基本的Webpack示例,它正是我所需要的。虽然这不是我问题的答案,但它解决了我的问题,也许它也可以帮助其他人。这是Webpack代码:

const path = require('path');
module.exports = {
entry: "./src/background/background.ts",
output: {
filename: "background.js",
path: path.resolve(__dirname, 'dist')
},
resolve: {
extensions: [".webpack.js", ".web.js", ".ts", ".js"]
},
module: {
rules: [{ test: /.ts$/, loader: "ts-loader" }]
}
}

最新更新