javascript - webpack - 转译 1 ts 文件而不捆绑它(2 个条目)

标签 javascript typescript vue.js webpack


长话短说

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

  • 无法执行background.js

  • 预期 background.js 仅包含“console.log('test');”


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

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

我有一个 typescript 源文件:“background.ts”。

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

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

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

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

谢谢你,webpack 是 hell


编辑:添加文件:

// 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 inspect”的内容 $vue 检查 > https://pastebin.com/6F3zwLhC


我尝试过的:

  • 导出一个函数而不是我的纯代码:

    export default function() {
        console.log("gboDebug: background.ts dans export function");
    }
    

    //而不仅仅是

    console.log("gboDebug: background.ts dans export function");
    
  • 在文件末尾添加这个,因为我在某处看到它:

       export default null;
    
  • 检查我的 console.log 是否在 background.js 捆绑文件中

  • 在导航器中粘贴 background.js 的结果
  • 使用脚本创建的 webpackJsonp 全局变量

我的想法:

  • 有一个 npm 脚本,其中 1-bundle-vue-webpack 然后使用 babel-loader 2-transpile 我的文件
  • 使用 webpack 中的库输出选项,但我认为它使代码可用于变量,加载时不会自动执行代码

最佳答案

简而言之——您不需要打包器来转译单个 typescript 文件。只需使用 tsc

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

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

关于javascript - webpack - 转译 1 ts 文件而不捆绑它(2 个条目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61086910/

相关文章:

reactjs - 助焊剂实用程序TypeError : Class constructor App cannot be invoked without 'new'

javascript - VueJS 表单,step ="5"steps 1 第一次向上或向下

javascript - 在 bootstrap 4 中制作菜单图标不动和全宽下拉菜单

javascript - jQuery resizing() "Containment"参数不接受数组

reactjs - 如何将 MSAL 与 React 结合使用?

typescript - 类型 'undefined' 不可分配给类型 'never'

javascript - 如何使组件出现并将键盘焦点设置到 iOS Safari 中的输入字段?

javascript - 如何通过点击将项目移动到另一个组件 - vue.js

javascript - 从 30 秒开始倒计时并在之后执行功能的简单时钟

javascript - 正则表达式不包含