无法使用Webpack加载角度剪贴板

时间:2016-12-21 16:24:14

标签: angularjs node.js webpack

我在AngularJS项目中使用Webpack,当我尝试加载angular-clipboard时出现以下错误:

ERROR in ./assets/libs/angular-clipboard/angular-clipboard.js
Module not found: Error: Cannot resolve module 'angular' in C:\...\assets\libs\angular-clipboard
 @ ./assets/libs/angular-clipboard/angular-clipboard.js 4:8-36

之前我正在加载它:

require('./assets/libs/angular/angular.js');

我的webpack.config.js看起来像这样:

module.exports = {
    entry: './entry.js',
    output: {
        path: __dirname,
        filename: 'bundle.js'
    },
    module: {
        loaders: [
            { test: /\.css$/, loader: 'style-loader!css-loader' },
            { test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' },
            { test: /\.less$/, loader: 'style-loader!css-loader!less-loader' }
        ]
    }
};

1 个答案:

答案 0 :(得分:0)

首先,webpack是一个模块捆绑器。这意味着从一个或多个所谓的entry points webpack开始,遵循项目中的导入,并使用所谓的加载器解析所有依赖项。这些加载器的目的是加载内容,但也可以在加载内容时以某种方式对其进行转换。这允许例如使用ts-loader将打字稿代码转换为javascript。

加载器是webpack的核心,允许转换代码,导入和操作图像,将SASSstylus转换为CSS等。 Sky是这一点的限制,webpack附带了一堆加载器,这使得它非常强大。

最后,webpack创建了所谓的bundle,它们是包含所有已加载内容的javascript文件。这些javascript文件还可以包含CSS,JSON blob等。然后,Webpack还可以缩小代码以节省带宽,它可以散列捆绑包以防止缓存问题等等。

所以是的,webpack可以做几乎所有事情,而且大多数时候它都是适合这项工作的工具。

您可能感兴趣的其他工具:

模块捆绑器:

任务选手:

Webpack与其加载器结合使用是纯模块捆绑器和任务运行器之间的混合。您可能会将其视为模块捆绑器 - 它还允许加载CSS,JSON等 - 每个模块都有一个管道 - 例如SASS到CSS管道。然后,配置告诉webpack这些管道的外观,应该从哪里开始捆绑,应该在哪里切片,等等。