【问题标题】:how to generate js file without webpackJsonp如何在没有 webpackJsonp 的情况下生成 js 文件
【发布时间】:2016-04-20 08:17:11
【问题描述】:

我希望 webpack 处理 js 文件(minify/uglify),但不将其格式化为模块 - 所以它只是包含初始代码(minified/uglified)的原始 js 文件,没有任何 webpackJsonp。 在浏览器中加载 webpack 之前,我需要这样一个文件来加载它,以检测是否加载了自定义字体。如果我使用 webpack 模块来执行此操作,那么我的包会在字体文件加载后加载。

【问题讨论】:

  • 请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”!
  • @AndreasNiedermair 现在我的问题的 html 标题看起来像“javascript - 如何在没有 webpackJsonp 的情况下生成 js 文件 - 堆栈溢出”,这是完全错误的。在搜索引擎中也是如此。请取回我的问题的标题。
  • 欢迎使用自动高级索引选项 - 这就是标签的工作方式。这证明了我的观点——标题中不需要标签。我已经删除了 javascript 标签,它应该解决您的问题。请阅读有关元的链接主题 - 它确实涵盖了系统在此处的工作方式。没有冒犯的意思。
  • @AndreasNiedermair 好的,谢谢

标签: javascript webpack webpack-2


【解决方案1】:

在 webpack.config.js 中将 target 设置为 node(默认为 web

module.exports = {
  target: 'node'
};

在上面的示例中,使用 node webpack 将编译以供在 类似 Node.js 的环境(使用 Node.js 需要加载块而不是 触摸任何内置模块,如 fs 或 path)。

或者,如果这不适合您使用,您也可以只更改output 中的libraryTarget(假设您使用的是 CommonJS):

output: {
    path: path.resolve(__dirname, 'build'),
    filename: '[name].js',
    libraryTarget: 'commonjs'
},

libraryTarget: "commonjs" - 你的入口点的返回值将 使用 output.library 值分配给导出对象。作为 顾名思义,这是在 CommonJS 环境中使用的。

【讨论】:

  • 目标节点似乎没有为我做任何事情。使用“webpack”:“3.11.0”.. 还有其他 webpack 设置吗?
【解决方案2】:

你应该有(取决于版本)scripts() 或 babel() 方法,它们只会缩小而不是 webpackfy 的 js() 方法:

mix.js('resources/js/app.js', 'public/js/app') //this add a webpack module
    .scripts(['resources/js/scrips/raw.js', 'resources/js/scrips/raw2.js',], 'public/js/raws.js')//this add a minified js
    .babel(['resources/js/scrips/raw3.js', 'resources/js/scrips/raw4.js',], 'public/js/raws_retrocompatible.js')//this add a minified js, but using babel compiler

【讨论】:

    猜你喜欢
    • 2015-01-04
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多