与来自外部源的Webpack捆绑会显示“目标环境不支持动态导入()”

de90aj5v  于 9个月前  发布在  Webpack
关注(0)|答案(1)|浏览(202)

我想创建一个简单的bundle,其中包含一些来自外部源的JS和一些来自本地源的JS文件。
它在提供外部资源时失败。

const path = require('path');

module.exports = {
    mode: 'production',
    entry: [
        'https://unpkg.com/[email protected]/src/jquery.csv.min.js',
    ],
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js',
    },
};

字符串
误差

Error: The target environment doesn't support dynamic import() syntax so it's not possible to use external type 'module' within a script
    at ExternalModule._getSourceData (/home/../development/widgets/node_modules/webpack/lib/ExternalModule.js:595:13)


它的工作原理时,第一次下载外部源的文件内容,并通过它作为本地文件。

const path = require('path');

module.exports = {
    mode: 'production',
    entry: [
        // 'https://unpkg.com/[email protected]/src/jquery.csv.min.js',
        './jquery.csv.min.js',
    ],
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js',
    },
};

  • 我不知道target enrivonment是什么意思。我的机器?
  • node_modules/webpack/lib/ExternalModule.js:595错误是由于runtimeTemplate.supportsDynamicImport()。我不能简单地安装一个软件包,然后沉默显然失踪的import()
  • 我没有显式地执行任何import()。源代码不包含任何import()
  • 我不知道错误中的external type 'module'是什么意思

它与远程与本地有关,因为条目中的代码相同。
https://unpkg.com/[email protected]/src/jquery.csv.min.js的响应没有重定向application/javascript;
有什么想法吗?

7gcisfzg

7gcisfzg1#

我目前的解决方案是,首先用npm下载外部源代码。
package.json

{
  "devDependencies": {
    "jquery-csv": "^1.0.21"
  }
}

字符串
webpack.config.js

const path = require('path');

module.exports = {
    mode: 'production',
    entry: './entry.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'MyBundle.js',
    }
}


entry.js

import csv from 'jquery-csv'; 
import MyWidget from './../MyWidget';

window.myWidget = new MyWidget(csv)

相关问题