在 Vue 上使用带有 Webpack 的 plotly.js 3d scatter3d

Posted

技术标签:

【中文标题】在 Vue 上使用带有 Webpack 的 plotly.js 3d scatter3d【英文标题】:Using plotly.js 3d scatter3d with Webpack on Vue 【发布时间】:2018-02-27 10:18:25 【问题描述】:

我正在尝试使用 webpack 和 Vue.js 运行 plotly.js

对于像 scatter 这样的简单绘图,使用以下配置可以正常工作:

在 webpack.config.js 上

loaders: [
        
            test: /node_modules/,
            loader: 'ify-loader'
        ,

    ],

在 vue 文件中我使用以下代码导入:

var Plotly = require('plotly.js/lib/core');
Plotly.register([
    require('plotly.js/lib/scatter'),
    require('plotly.js/lib/scatter3d'),
]);

使用 scatter 一切正常,但是当我尝试使用时:

type: 'scatter3d',

我收到以下错误:

It appears that you're using glslify in browserify without its transform applied. Make sure that you've set up glslify as a source transform:

所以据我了解,除了 node_modules 之外,我还需要让 ify-loader 处理我的文件项目。

我已经尝试按照 GitHub 自述文件Link for the docs 中的建议在我的项目中插入转换,但两个测试都不起作用(使用 .js 和 .vue):

使用 .js

    loaders: [
         
            test: /\.js$/,
            loader: 'ify-loader',
            enforce: 'post'
        
     ]

使用 .vue

loaders: [
         
            test: /\.vue$/,
            loader: 'ify-loader',
            enforce: 'post'
        
     ]

任何提示,或线索如何继续?

【问题讨论】:

【参考方案1】:
import Plotly from 'plotly.js/dist/plotly.min'

【讨论】:

虽然此代码可以回答问题,但提供有关 如何为什么 解决问题的附加上下文将提高​​答案的长期价值。 【参考方案2】:

也许使用require('plotly.js-dist')(不是import)可以解决问题。

【讨论】:

以上是关于在 Vue 上使用带有 Webpack 的 plotly.js 3d scatter3d的主要内容,如果未能解决你的问题,请参考以下文章

带有 webpack 的 Vue.js 不提供压缩的 GZIP .js 文件

带有 SASS 的 Webpack-simple + vue-cli - 无法编译?

带有 Webpack 模块联合的 Vue 3 CLI:组件从错误的主机加载

带有 vue 2.16.12 的 webpack 模块联合和 single-spa-vue 不起作用

带有 Vue.js 和 webpack 的 Laravel 6,而不是常规的 Vue

虚拟机的 WebPack 和 Vue.js 代理不起作用