首页 > 解决方案 > webpack - 在不捆绑的情况下编译 1 个 ts 文件(2 个条目)

问题描述


TL;博士

(vue 文件)+ background.ts => ...[webpack]... =>(捆绑的 vue 文件)+ background.js


我有一个带有 webpack 和 typescript 的 vue 项目。

除了[vue JS相关文件]之外,我希望我的构建步骤生成一个“background.js”文件。

我在打字稿中有一个源文件:“background.ts”。

通过 vue.config.js 我添加了一个 webpack 条目“背景”。

它确实像我预期的那样构建了一个文件“background.js”

但它是捆绑的(我认为),它不能由 chrome 插件执行。

现在我想要的只是有一个执行“console.log('test');”的“background.js”文件。调用脚本时包含的指令。

谢谢,webpack 是地狱


编辑:添加文件:

// vue.config.js
const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
    filenameHashing: false,
    chainWebpack: config => {
        // add your custom entry point
        config
            .entry('background')
            .add('./src/background.ts');
    },
    configureWebpack: {
        plugins: [
            new CopyWebpackPlugin([
                { from: 'manifest.json', to: 'manifest.json', flatten: true },
            ]),
        ]
    }
}

“$vue 检查”的内容 $vue 检查 > https://pastebin.com/6F3zwLhC


我尝试了什么:

我想到了什么:

标签: javascripttypescriptvue.jswebpack

解决方案


简而言之——你不需要打包器来转换单个打字稿文件。只需使用tsc.

特别是对于将 Vue 应用程序用作 chrome 扩展的一部分的这个问题,将构建应用程序和扩展相关文件分开可能是有意义的。

另一种可能的选择是使用类似Vue CLI Browser Extension Plugin的东西。


推荐阅读