首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webpack如何从外部url导入

webpack如何从外部url导入
EN

Stack Overflow用户
提问于 2016-04-08 17:35:11
回答 1查看 23K关注 0票数 13

我正在使用webpack来管理我的react应用程序。现在我想从这个url导入一个依赖项:

代码语言:javascript
复制
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=gNO2wKVBNupZfafi0bl0sW3dIKqAHn4l">

传统上,我只是将上面的代码放在我的index.html文件中。但是现在我怎么才能让webpack加载这个url呢?我的react js是如何使用这种依赖的呢?

当我启动webpack-dev-server时,我会得到以下错误:

代码语言:javascript
复制
ERROR in Entry module not found: Error: Cannot resolve module 'http://api.map.baidu.com/api'

然后我使用小加载器来加载url。下面是使用loader的javascript代码:

代码语言:javascript
复制
import $ from 'jquery'
import React from 'react';
import ReactDOM from 'react-dom';
import load from 'little-loader';

import './main.css';
import './component';
import Search from './search/search'

load('http://api.map.baidu.com/api?v=2.0&ak=gNO2wKVBNupZfafi0bl0sW3dIKqAHn4l', function(err){
    console.log('err:', err);
});

// document.body.appendChild(component());


ReactDOM.render(<Search />, document.getElementById('search'));

但是我在启动webpack的时候还是出现了下面的错误:

代码语言:javascript
复制
ERROR in Entry module not found: Error: Cannot resolve module 'http://api.map.baidu.com/api' in /Users/yzzhao/dev/react-demo/webpack_demo
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-08 22:00:58

将来,您应该能够通过System.import使用dynamic requires。Webpack 2将在本地支持它们。

代码语言:javascript
复制
System.import('<url>')
  .then(function() {
    console.log('Loaded!');
  });

如果你不想等待,你可以使用一个脚本加载库。

示例:

安装:

代码语言:javascript
复制
npm install little-loader --save

使用:

代码语言:javascript
复制
import load from 'little-loader';

load('<url>', (err) => {

})

或手动执行

代码语言:javascript
复制
function load(url) {
  return new Promise((resolve, reject) => {
    var script = document.createElement('script')
    script.type = 'text/javascript';
    script.async = true;
    script.src = url;
    script.onload = resolve;
    script.onerror = reject;
    document.head.appendChild(script);
  })
}

load('<url>')
  .then(() => {
    console.log('Loaded!');
  })
  .catch((err) => {
    console.error('Something went wrong!', err);
  })
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36496242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档